Awesome Open Source
Awesome Open Source


Android App using The Movie DB API


a simple app that contains some basic functionality. It connects to the Movies DB API and fetch current popular TV shows on TMDb.

Tech Stack

  • Dagger 2 - Used to provide dependency injection
  • Retrofit 2 - OkHttp3 - request/response API
  • Glide - for image loading.
  • RxJava 2 - reactive programming paradigm
  • LiveData - use LiveData to see UI update with data changes.
  • Data Binding - bind UI components in layouts to data sources

Overview of app arch.

  • follow the rules from Architecture guidelines recommended by Google.
  • keep Activity only responsible for UI related code
  • ViewModel provides data required by the UI class
  • Repository layer provides data to ViewModel classes. (single source of truth)

Unit testing and Application Arch.

. ViewModel and ViewStates classes should be tested.


need to make sure that the correct state changes occur at the right time during remote data request.


ViewStates are responsible for reporting changes to the UI.

Blog posts about project

TODO for near future

  • [ ] implement local storage example
  • [ ] implement coroutines example

Alternative Project Comparisons
Related Awesome Lists
Top Programming Languages
Top Projects

Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
Kotlin (49,069
Interview (5,130
Rxjava (4,224
Viewmodel (2,405
Livedata (1,592
Dagger2 (1,312
Architecture Components (795
Viewstate (12