All Projects → kaushikgopal → Movies Usf Android

kaushikgopal / Movies Usf Android

Licence: apache-2.0
Movie searching using a Unidirectional State Flow pattern for Android

Programming Languages

kotlin
9241 projects

Projects that are alternatives of or similar to Movies Usf Android

Remvvm
ReMVVM is an application architecture concept, marriage of Unidirectional Data Flow (Redux) with MVVM.
Stars: ✭ 168 (-24.32%)
Mutual labels:  unidirectional-data-flow, mvvm
ReMVVM
ReMVVM is an application architecture concept, marriage of Unidirectional Data Flow (Redux) with MVVM.
Stars: ✭ 180 (-18.92%)
Mutual labels:  mvvm, unidirectional-data-flow
Xuui
xLua的mvvm框架,支持ugui,ngui,fairyGUI。。。
Stars: ✭ 199 (-10.36%)
Mutual labels:  mvvm
Awesome Jetpack Compose Android Apps
👓 A curated list of awesome Jetpack Compose android apps by open-source contributors.
Stars: ✭ 207 (-6.76%)
Mutual labels:  mvvm
Doubanmovie
豆瓣电影公开接口Android实现
Stars: ✭ 209 (-5.86%)
Mutual labels:  mvvm
Delight
Delight is an open source component-oriented framework for Unity.
Stars: ✭ 201 (-9.46%)
Mutual labels:  mvvm
Tumblthree
A Tumblr Backup Application
Stars: ✭ 211 (-4.95%)
Mutual labels:  mvvm
Zhuishushenqi
追书神器Swift版客户端(非官方)。 不断更新中......
Stars: ✭ 196 (-11.71%)
Mutual labels:  mvvm
Mvvmframe
🏰 MVVMFrame for Android 是一个基于Google官方推出的Architecture Components dependencies(现在叫JetPack){ Lifecycle,LiveData,ViewModel,Room } 构建的快速开发框架。有了MVVMFrame的加持,从此构建一个MVVM模式的项目变得快捷简单。
Stars: ✭ 218 (-1.8%)
Mutual labels:  mvvm
Nice Lua
基于xlua的MVVM框架,支持Addressables, 统一渲染管线等Unity新特性
Stars: ✭ 207 (-6.76%)
Mutual labels:  mvvm
Android Mvvm Architecture
Sample MVVM project uses instagram API
Stars: ✭ 217 (-2.25%)
Mutual labels:  mvvm
Qtmvvm
A mvvm oriented library for Qt, to create Projects for Widgets and Quick in parallel
Stars: ✭ 205 (-7.66%)
Mutual labels:  mvvm
Caliburn.micro
A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
Stars: ✭ 2,404 (+982.88%)
Mutual labels:  mvvm
Viw
VI Worsened, a lightweight and fun VI clone.
Stars: ✭ 212 (-4.5%)
Mutual labels:  unidirectional-data-flow
Knot
Unidirectional reactive state container for Android & Kotlin
Stars: ✭ 198 (-10.81%)
Mutual labels:  unidirectional-data-flow
Antimine Android
Antimine is an open source minesweeper-like puzzle game.
Stars: ✭ 218 (-1.8%)
Mutual labels:  mvvm
Wandroid
首款适配玩Android、掘金、简书、CSDN、公众号文章黑夜模式,无广告,支持离线阅读,代码图片显示,关注内容本身,阅读体验升级。
Stars: ✭ 199 (-10.36%)
Mutual labels:  mvvm
Circleoffriendsdisplay
朋友圈的做法
Stars: ✭ 205 (-7.66%)
Mutual labels:  mvvm
Bikeshare
Jetpack Compose and SwiftUI based Kotlin Multiplatform project (using CityBikes API http://api.citybik.es/v2/).
Stars: ✭ 206 (-7.21%)
Mutual labels:  mvvm
Edi
Edi - The open source text editor IDE based on AvalonDock and AvalonEdit
Stars: ✭ 220 (-0.9%)
Mutual labels:  mvvm

Movie search using a unidirectional state flow pattern

This is an attempt at coming up with a unidirectional state flow pattern that uses the concepts of patterns like Redux, Cycle.js, MVI etc.

Many of my contemporaries have already done amazing work in this area and I've drawn a lot of lessons and learnings from their work already:

I wanted to achieve the benefits of this pattern without necessarily introducing any new libraries (aside from Rx). How would one familiar with an MVVM model today step to a world where all data flows in a single direction? I hope to demo those concepts with this app.

The app in itself is a simple movie searching app. Clicking the movie result populates a history list. While this is not an extremely complex app, it isn't a silly Hello World one either, so the hope is that it'll cover regular use cases for a basic application.

I've also started meaninful test cases in the repo.

Setting up your OMDB API KEY

We use the wonderful OMDB api to fetch movie information.

There are quotas on this api, so please don't use mine :)

  1. Get an api key for OMDB here
  2. Run this in a terminal like application
touch $HOME/.gradle/gradle.properties
echo "omdb_apikey=\"<API_KEY_GOES_HERE>\"" >> $HOME/.gradle/gradle.properties

You can read this post for instructions on this private api setting up process.

For great movie recommendations, ping me @kaushikgopal (seriously, I watch a lot of movies).

I gave a talk at MBLT}Dev 2018 on how I went about building this app. Slides can be found here.

iOS app

I gave another talk at Mobilization IX showing how we can use the same concepts on iOS too and wrote my first iOS app to demonstrate these concepts - You can check that out here.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].