A minimalistic movie listing app to browse IMDB's top 250 movies, built to demonstrate MVVM with latest hot-trending Android development tools.
- Download latest APK from here
- Kotlin - First class and official programming language for Android development.
- Coroutines - For asynchronous and more..
- Flow - A cold asynchronous data stream that sequentially emits values and completes normally or with an exception.
- 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.
- Dagger 2 - Dependency Injection Framework
- Retrofit - A type-safe HTTP client for Android and Java.
- Moshi - A modern JSON library for Kotlin and Java.
- Moshi Converter - A Converter which uses Moshi for serialization to and from JSON.
- Glide - An image loading library for Android backed by Kotlin Coroutines.
- Material Components for Android - Modular and customizable Material Design UI components for Android.
- TwinKill - A simple library, a collection of utility classes wrapped around JetPack components
- MaterialColors - Android material color palettes
This project follows the famous MVVM architecture and best practices from Google's GithubBrowserSample
.
โโโ App.kt
โโโ data
โย ย โโโ local
โย ย โย ย โโโ AppDatabase.kt
โย ย โย ย โโโ Converters.kt
โย ย โย ย โโโ daos
โย ย โย ย โย ย โโโ MoviesDao.kt
โย ย โย ย โโโ entities
โย ย โโโ remote
โย ย โย ย โโโ ApiInterface.kt
โย ย โย ย โโโ Movie.kt
โย ย โโโ repositories
โย ย โโโ movies
โย ย โโโ MoviesRepo.kt
โโโ di
โย ย โโโ components
โย ย โย ย โโโ AppComponent.kt
โย ย โโโ modules
โย ย โโโ ActivitiesBuilderModule.kt
โย ย โโโ AppModule.kt
โย ย โโโ DatabaseModule.kt
โย ย โโโ NetworkModule.kt
โย ย โโโ RepoModule.kt
โย ย โโโ ViewModelModule.kt
โโโ models
โย ย โโโ FeedItem.kt
โโโ ui
โย ย โโโ activities
โย ย โย ย โโโ feed
โย ย โย ย โย ย โโโ FeedActivity.kt
โย ย โย ย โย ย โโโ FeedViewModel.kt
โย ย โย ย โโโ movie
โย ย โย ย โย ย โโโ MovieActivity.kt
โย ย โย ย โย ย โโโ MovieViewModel.kt
โย ย โย ย โโโ splash
โย ย โย ย โย ย โโโ SplashActivity.kt
โย ย โย ย โย ย โโโ SplashViewModel.kt
โย ย โโโ adapters
โย ย โโโ FeedAdapter.kt
โย ย โโโ MoviesAdapter.kt
โโโ utils
โโโ BindingAdapters.kt
โโโ NetworkBoundResource.kt
โโโ retrofit
โย ย โโโ FlowResourceCallAdapterFactory.kt
โย ย โโโ FlowResourceCallAdapter.kt
โโโ test
โโโ EspressoIdlingResource.kt
โโโ OpenForTesting.kt
21 directories, 30 files
- ๐ค Icons are from flaticon.com
- ๐๏ธ Design inspired from AnimeXStream
- ๐ฝ Data from top250 API
- ๐ Thanks Foodium
- Improve algorithms and code review
- Add test cases
- Integrate OMDB API to add search feature
- Add favorites
- theapache64