π₯ A minimalistic movie listing app to browse movies using TMDB API, π² built to demonstrate MVVM Architecture, Kotlin, Coroutines, Dagger 2/Hilt, Architecture Components, Room, Retrofit, Material Components, CI/CD.
MIT License
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.
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