A minimalistic movie listing app to browse movies using TMDB Api, built to demonstrate MVVM Architecture with latest hot-trending Android development tools including Dependency Injection, Room and many more.
- Explore the Upcoming, Popular and Top Rated Movies.
- Get detailed decription of all the movies.
- Get details about the Cast and Crew members.
- Bookmark your favourite movies.
- Get movies trailer within the application.
- Search for movies.
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Android Architecture Components - Collection of libraries that help you design robust, testable, and maintainable apps.
- LiveData - Data objects that notify views when the underlying database changes.
- ViewModel - Stores UI-related data that isn't destroyed on UI changes.
- 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.
- Room - SQLite object mapping library.
- Paging 3 - The Paging library helps you load and display pages of data from a larger dataset from local storage or over network.
- Navigation Graph - The Navigation component uses a navigation graph to manage your app's navigation.
- Dagger 2 - Dependency Injection Framework
- Retrofit - A type-safe HTTP client for Android and Java.
- Coil - An image loading library for Android backed by Kotlin Coroutines.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
- Download latest APK from here
This project follows the famous MVVM architecture and best practices from Google's
GithubBrowserSample
.
โโโ CineWatch.kt
โโโ data
| |
| โโโ api
| | โโโ NetworkService.kt
| | โโโ SafeApiRequest.kt
โ โโโ local
โ โ โโโ BookmarkDatabase.kt
โ โ โโโ dao
โ โ โโโ BookmarkDao.kt
โ โโโ model
โ โ โโโ Actor.kt
โ โ โโโ Cast.kt
โ โ โโโ CastCreditResponse.kt
โ โ โโโ Genre.kt
โ โ โโโ Movie.kt
โ โ โโโ MovieCreditsResponse.kt
โ โ โโโ MovieDB.kt
โ โ โโโ MovieResponse.kt
โ โ โโโ Resourse.kt
โ โ โโโ State.kt
โ โ โโโ Video.kt
โ โ โโโ VideoResponse.kt
โ โโโ repository
โ โโโ NetworkRepository.kt
โโโ di
โ โโโ module
โ โโโ ApiModule.kt
โ โโโ DatabaseModule.kt
โโโ ui
โ โโโ SplashScreenActivity.kt
โ โโโ adapter
โ | โโโ BestMoviesRecyclerViewAdapter.kt
โ | โโโ BookmarkRecyclerViewAdapter.kt
โ | โโโ CastRecyclerViewAdapter.kt
โ | โโโ HomeRecyclerViewAdapter.kt
โ | โโโ HomeViewPagerAdapter.kt
โ | โโโ SearchRecyclerViewAdapter.kt
โ | โโโ SimilarMoviesRecyclerViewAdapter.kt
โ | โโโ ViewAllRecyclerViewAdapter.kt
โ โโโ details
โ | โโโ ActorDetailsFragment.kt
โ | โโโ ActorDetailsViewModel.kt
โ | โโโ MovieDetailsFragment.kt
โ | โโโ MovieDetailsViewModel.kt
โ โโโ dialog
โ | โโโ VideoPlayer.kt
โ โโโ home
โ | โโโ HomeFragment.kt
โ | โโโ HomeViewModel.kt
โ โโโ list
โ | โโโ ViewAllFragment.kt
โ | โโโ ViewAllViewModel.kt
โ โโโ main
โ | โโโ MainActivity.ky
โ | โโโ viewpager
โ | โโโ HomeViewPagerFragment.kt
โ โโโ paging
โ | โโโ PopularPagingSource.kt
โ | โโโ SearchPagingSource.kt
โ | โโโ TopRatedPagingSource.kt
โ | โโโ UpcomingPagingSource.kt
โ โโโ search
โ โโโ SearchFragment.kt
โ โโโ SearchViewModel.kt
โโโ utils
โโโ ActivityUtils.kt
โโโ CONSTANTS.kt
โโโ FragmentUtils.kt
โโโ NetworkUtils.kt
โโโ PlaceHolderUtils.kt
โโโ TimeUtils.kt
โโโ ViewUtils.kt
- Android 5.0 and Above
- Min sdk version 21
- Internet