A simple project using The Movie DB based on Kotlin MVVM Repository architecture
Add your The Movie DB's API key in your build.gradle (Module: MovieDB.app)
file. In buildTypes{} add this:
debug {
buildConfigField("String", "API_KEY", '"?api_key=YOUR_API_KEY"')
buildConfigField("String", "IMG_URL", '"https://www.themoviedb.org/t/p/w600_and_h900_bestv2"')
buildConfigField("String", "BASE_URL", '"https://api.themoviedb.org"')
}
- Minimum SDK level 23
- 100% Kotlin based
- JetPack
- Lifecycle - dispose observing data when lifecycle state changes.
- ViewModel - UI related data holder, lifecycle aware.
- Room Persistence - construct database.
- Architecture
- MVVM Architecture (View - DataBinding - ViewModel - Model)
- Repository pattern
- ViewBinding.=
- Retrofit2 & Gson - constructing the REST API
- Glide - loading images
- AnimatedBottomBar - as bottom navigation view
- android-shape-imageview - as shaped image view
- android-sdp - for responsive sp and dp
- Paging 3 - for endless scroll
- Koin - for Dependency Injection