A movie Android app using Movie Database IMDB Alternative API with Unit & UI testing. The app uses MVVM architecture with Jetpack (Room, ViewModel, LiveData, View Binding), Hilt, Coroutines, Flows, Moshi, etc...
The tech stacks and libraries used in this app:
- 100% Kotlin + Coroutines + Flow for asynchronus
- Hilt - for dependency injection.
- Retrofit2 - A type-safe HTTP client for Android.
- Moshi - a modern JSON library for Android.
- Glide - an image loading and caching library for Android
- JetPack:
- LiveData - observable data holder class.
- ViewModel - store and manage UI-related data in a lifecycle conscious way.
- Room Persistence - local database.
- ViewBinding - interact with views (replacement for findViewById).
- Architecture: MVVM Architecture
- Timber - logging.
- Espresso - reliable Android UI tests.
- Mockito - create and configure mock objects.
- Truth - makes your test assertions and failure messages more readable.