An app to retrieve and display Pokemons from the https://graphql-pokeapi.vercel.app/ API.
This is a GraphQL version of my other Pokedex app:
https://github.com/herrbert74/Pokedex
- Application entirely written in Kotlin
- UI developed in Jetpack Compose
- Following the Material 3 guidelines
- Asynchronous processing using Coroutines
- Dependency injection with Dagger and Hilt
- Database using realm-kotlin
- The three main sections (module groups in a larger project) are data, domain, and presentation.
- Domain does not depend on anything and contains the api interfaces, and the model classes. I do not use use cases at the moment, otherwise I follow clean architecture.
- Data implements the domain interfaces (repos) through the network, local and db packages or modules, and does not depend on anything else, apart from platform and third party libraries. Repository implementations are placed here as well.
- Presentation layer uses the data implementations through dependency injection and the domain entities. It also contains the navigation, the design and the ui packages.
- Dependency Injection through Dagger and Hilt. The modules are placed in their implementation packages.