/MovieDb

Practice rx, room, livedata, recyclerview pagination, retrofit, moshi, dagger2, repository pattern

Primary LanguageKotlin

MovieDb

Practice rx, room, livedata, recyclerview pagination, retrofit, moshi, dagger2, repository pattern

Building on your environment

Add your tmdb API key in your local.properties file.

tmdb_api_key=YOUR_API_KEY

Stack

  • Dagger2 for dependency injection
  • Retrofit2 for constructing the REST API
  • Moshi for handling json
  • RxJava2 for reactiveX used in networking and repository
  • LiveData for lifecycle safe observables
  • Glide for loading images
  • Timber for logging
  • Stetho for debugging persistence data & network packets
  • Room for sqlite persistence

Architecture

  • MVVM
  • Repository pattern
  • Repository sends data to viewmodel using rx, viewmodel sends data to activity using livedata