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