Android App for listing the most Popular Tv Shows using The Moive DB API (https://www.themoviedb.org/documentation/api)
This simple app is divided in two sections:
- Tv Shows List This is the first screen when the app is launched. On this screen we have a list of Tv Shows displayed with big poster image along with the Tv Show title and average rating.
- Tv Show Details After selecting item from the Tv Shows List we open a new screen where we display more information about the selected Tv Show along with a Horizontal list of Similar Tv Shows.
Tv Shows List | Tv Show Details |
---|---|
- RxJava2: https://github.com/ReactiveX/RxJava
- Dagger2: https://google.github.io/dagger/
- Retrofit: http://square.github.io/retrofit/
- Glide: https://github.com/bumptech/glide
- Architecture Components: https://developer.android.com/topic/libraries/architecture/index.html
- Mockito & JUnit: http://site.mockito.org/
- Calligraphy: https://github.com/chrisjenx/Calligraphy
Kotlin will be our go to language
We are going to use the MVVM pattern with the help of Google Architecture Components.
We are going to use Repositories which will be held responsible for providing data to the ViewModel.
The View will observe the changes in the ViewModel and display the changes accordingly it also informs the ViewModel about the user’s actions.
The ViewModel retrieves the necessary data from the Model (Repository), applies the UI logic and then exposes relevant data for the View to consume. The ViewModel exposes the data via Observables (LiveData).
- data: It contains all the data accessing and manipulating components.
- di: Dependency providing classes using Dagger2.
- ui: View classes along with their corresponding ViewModel.
- utils: Utility classes.