Movies App is a Android project using TMDB API and Modern Architecture
- Discover the most popular and the top rated movies
- See movie overview and imdb ratings
- Create a watch list for yourself
- Advanced uses of Room
- MVVM with Android Architecture Components(Room, LiveData, ViewModel)
- Pagination and endless scrolling using Android paging library
- Kotlin - First class and official programming language for Android development.
- Coroutines - For managing background threads with simplified code and reducing needs for callbacks.
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- Android Architecture Components : A collection of libraries that help you design robust, testable, and maintainable apps.
- Room - Local database.
- Lifecycles - Create a UI that automatically responds to lifecycle events.
- LiveData - Build data objects that notify views when the underlying database changes.
- ViewModel - Is a class that is responsible for preparing and managing the data for an Activity or a Fragment. It also handles the communication of the Activity / Fragment with the rest of the application
- ViewBinding - Generates a binding class for each XML layout file present in that module and allows you to more easily write code that interacts with views.
- Paging3 - Load and display small chunks of data at a time.
- Navigation - Build data objects that notify views when the underlying database changes.
- UI : Details on why and how to use UI Components in your apps.
- Retrofit - Type-safe HTTP client for Android.
- Dagger Hilt - For dependencies injection.
- Glide - For image loading.