This is the guide about how this app was developed The app was developed with latest modern android development :
- Kotlin
- Modularization
- Clean Architecture pattern
- Hilt - Dependency Injection
- Coroutines
- Flow
- Paging3
- Room
- Version Catalog
- Android Min SDK: 24
- Android Target SDK: 33
Top tip: A module graph (shown above) can be useful during modularization planning for visualizing dependencies between modules.
The MovieBox app contains the following types of modules:
-
The
app
module - contains app level, presentation layer and scaffolding classes that bind the rest of the codebase, such asMainActivity
,MyApplication
and dependency injection. Theapp
module depends ondata
module and requireddomain
module. -
data:
module - contains operation about accessing or manipulating data both network nor local. This module depend ondomain
module, but it should’t depend on app module. -
domain:
module - most deep layer that contains all business logic for each specific usecase, such asIMovieRepository
etc. This module not depend to any module, because this is the deepest layer based on Clean Architecture guidelines.
- Show all popular movie and cached to database
- Show all favorites movie
- choose favorite movie
- search movie based on title
- Show detail movie
- Pagination on review list
- Dimas Arya Murdiyan - [email protected]
- TMDB API - Free Movie API