Feature based modular Pokedex app built with GraphQL, Jetpack Compose, Hilt, Paging 3, and more...
- Compose
- Compose Destinations
- Navigation
- Paging 3
- Flow
- Hilt
- OkHttp
- Apollo
- Material Design 3
- Coil
- Lottie
- MVVM
- Feature based modularization
- Clean Architecture
- Gradle Version Catalog
- Gradle Convention plugins
- Night mode support
Kotlin module that contains the code for starting the feature module. Usually the code consists of a communicator interface and a data class for the parameters. The wiring module will bind them later so we can inject our communicator without knowing the implementation details thanks to this dependency inversion practice.
Kotlin module that contains the business logic of the feature. Usually it contains repository and use case interfaces. The actual implementation of them will be in the data module.
Android Library module that contains the implementation of the domain module. Usually it contains repository and use case implementations.
Android Library module that contains Screens, Viewmodels etc. of the feature. This module contains the implementation of communicator interface that defined in the shared module.
Android Library module that contains the dependency injection setup.
Android Library module that contains the mocked use case implementations and dummy datas.
Android Library module that contains the dependency injection setup for the fake module.
Android Application Module that contains the demo app of the feature. Usually it consists of a single activity that navigates to the feature module with mock datas.




