Small, consistent Android application, built following MVVP pattern and written entirely in Kotlin. As for now, app's main feature is fetching a list of movies currently played in theaters and displaying it to user. All the data, presented by the application is provided by themoviedb.org API. Application built based on karntrehan's Posts sample app architecture.
- SOLID principles
- Single source of truth (Room database)
- Packaged by feature
- Off-line first
- Android Support Libraries
- Android Architecture Components (Room, LiveData, ViewModel)
- Dagger 2
- RxJava, RxAndroid
- Retrofit 2
- OkHttp 3
- Glide
- GSON
- JUnit
- Mockito
- Robolectric
- Add AAC PagingLibrary
- Allow user to add choosen movie to
toWatchLater
list
Unit tests -> gradlew test
Instrumented tests -> gradlew connectedAndroidTest
In order to run the application, You need to obtain a private api_key
from themoviedb.org and place it in the Constants object, as a String val named API_KEY
.