Android Jetpack Compose Pokemon App based on the api https://pokeapi.co/. Getting all the pokemons in paginated mode, and going to the detail of every pokemon itself, persisting the data of the detail of each Pokemon.
In the detail of the Pokemon, after loading the image of the pokemon, using Palette to determine the dominant color and applying it to the background/and types of the Pokemon.
Online mode.
Offline mode.
- Jetpack Compose
- ViewModel
- Use Case
- Repository
- DataSource
- Kotlin
- Jetpack Compose
- Koin (DI)
- MVVM (Architecture)
- Coroutines
- Room
- Lottie
- Coil
- Palette
- Mockito
App contains Application and the MainActivity and knows all the other modules, it is in charge of initialising Koin. No other module knows App. App controls the Navigation Compose of the project.
Everything related to Dependencies and Kotlin DSL implementation
Used in the features of the app. Contains everything related to :
- Api and retrofit implementation
- Persistence and its implementation
- Domain
- DataSources
Everything related to the common Compose components UI that can be reusable.
- pokemonList > Module related to the list of pokemons (Initial Screen) [Composables-States-ViewModel-UseCase]
- pokemonDetail > Module related to the detail of pokemon (Detail Secondary Screen) [Composables-States-ViewModel-UseCase] , it also persists the data in Room.
- Clean and unify the gradle.kts files
- Add UI tests