GianlucaParadise's Pokedex

Overview

Develop an app that displays a list of Pokémon. When the user selects a Pokémon, the app shows the details with the name of the Pokémon, image/s, stats and type (fire, poison, etc.). The APIs are available at the following address: https://pokeapi.co

Guidelines

  1. Min SDK 21
  2. Use Kotlin language
  3. Use Clean Architecture (Repository pattern) and MVI (e.g. Uniflow lib)
  4. Use JetPack: (ViewModel, Room, Navigation)
  5. Use Koin (DI)
  6. Use Retrofit2 and OkHttp3
  7. Use Coroutines + Flow
  8. Use Moshi and Glide
  9. Create paging with Jetpack's Paging library
  10. Submit the code by publishing it to a public repository

Bonus tasks

  1. Make the app usable even offline
  2. Write Unit Tests
  3. Customize the project with something you think will be useful for this app