TheMovies2

A simple project using The Movie DB based on Kotlin MVVM architecture and material designs & animations.

TheMovies2

TheMovies

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

GitHub