It's a code sample for a movie app that displays the movies in MVI architecture pattern.
Android application that displays the list of trending movies and when we tab on any movie, it shows more details about it.
- The movie name, picture and rate should be displayed.
- The movies pages should be loaded once the user scroll down to the last item by displaying loader under the movies list.
- If the movies list is empty, a message should be displayed to the user that no movies available at this moment.
- If any error happened, a error message show be displayed to the user with a retry button.
- The user should be able to swipe to refresh to reload date from scratch.
The Movie screen should contains:
- Movie Title
- Movie Picture
- Movie Rate
- Movie Overview
MVI is the architecture pattern of the app.
- Coroutines
- Compose
- Retrofit
- ViewModel
- Hilt
- Kotlin
- Coil
- Mockk
- Implement unit test for the view-models to test the logic of the app [MovieDetailsViewModelTest] and [MoviesViewModelTest].