For one of my jobs' interviews in April 2020, I was requested to develop a movie application that would be displaying my skills as an Android developer in 3 hours.
This test was implemented in Kotlin using Coroutines for background processing, LiveData for reactive implementation, Room for local cache, Retrofit 2 for network calls and Dagger2 for DI in a MVVM architecture applying a Repository pattern.
You can find and access this project in github.
This is a movies app that allows the user to search for movies and display them on a list. The app also displays the list of the Top 20 popular movies. When the user selects a movie from the lists, it displays more information about it. The Top Popular movies was implemented to show the hability of using different item views in the same RecyclerView.
The project follows the MVVM architecture implementing the Repository pattern to handle the communications between Database, Network and UI. There are 2 modules: app and core.
App
Module holding all the UI related implementation: Application, Activities, Views, potential Services (not implemented here), etc.
Core
Module holding all the app's 'backend' implementation: Database, Network calls.