A Poc project to validate Flutter concepts using Pokedex API. This project works on Android and iOS platforms by pagging Pokedex API and show us all Pokémons.


First of all, it’s a not official Pokémon project. The Pokémon trademark has their copyrights. Thanks Nintendo/Creatures Inc./GAME FREAK inc. TM, for this amazing series. Thank too for the arts used in Onboarding, Pokedex API etc. This is just for studying and help developers to practice Flutter skills.


Basically the project structure is using The Clean Architecture, our layers are: data, domain and presentation.

  • data: Services (API requests), Data Access Object (DAO), repository (data provider), etc.
  • domain: Responsible for getting data from repository providers.
  • presentation: Page (screens).

Tools and libraries

  • dio: Http client, which supports Interceptors, File download etc.
  • injectable: Powerful for Dependency Injection (D.I). Supports: fabric methods, auto D.I using files and packages structure, environmets etc.
  • get-id: Service locator to avoid boilerplate in same cases to reuse D.I.
  • json_serializable: Build System to generate classes from json pattern.
  • chuck_flutter: Interceptor to log http/s requests in mobile devices (Android and iOS Platforms).
  • drift: Amazing library to provides database communication using Sqlite3. Supports drift files to create database structure.
  • mockito: Mock library for Dart (supports build runner too).

Show case




View Github