The app was developed in :
- Kotlin
- MVVM Architectural pattern
- Hilt
- Coroutines
- Room
- Mockito for unit testing
- Android Min SDK: 24
- Android Target SDK: 33
Globally the project has the following top level packages:
- data: Basically data layer that contains data source both local or remote, and all the data accessing and manipulating components.
- di: Dependency providing classes using Dagger-Hilt.
- ui: Basically presenter layer that contains the classes View (Activity, Fragment), Adapter, ViewModel.
- domain: Basically domain layer that contains all business logic.
- utils: Contains Utility & Helper classes.
Features/screen is placed in ui
package. Here is the list of app feature packages:
- base ⇒ package that contains base class for fragment and activity.
- bottomsheet ⇒ package that contains bottom sheet dialog.
- detail ⇒ package that contains detail screen for selected game.
- favorite ⇒ package that contains list of game favorite screen.
- games ⇒ package that contains list of game screen.
- home ⇒ package that contains home screen that used to parent for games and favorite screen.
nav_graph
: Nav graph used for main application flow.
- need bump up coverage test for UI test
- Dimas Arya Murdiyan - [email protected]