A demo project using The Movie DB based on Kotlin MVVM architecture
TheMovies2
A simple project using The Movie DB based on Kotlin MVVM architecture and material designs & animations.
How to build on your environment
Add your The Movie DB's API key in your local.properties
file.
tmdb_api_key=YOUR_API_KEY
Tech stack & Open-source libraries
- Minimum SDK level 16
- 100% Kotlin based + Coroutines
- JetPack
- LiveData - notify domain layer data to views.
- 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
- Koin - dependency injection
- Material Design & Animations
- Retrofit2 & Gson - constructing the REST API
- OkHttp3 - implementing interceptor, logging and mocking web server
- Glide - loading images
- BaseRecyclerViewAdapter - implementing adapters and viewHolders
- Mockito-kotlin - Junit mock test
- Timber - logging
- Stetho - debugging persistence data & network packets
- Ripple animation, Shared element transition
- Custom Views AndroidTagView, ExpandableTextView