A Flutter application that provides a comprehensive Pokédex experience using the PokeAPI. This app demonstrates clean architecture principles with a focus on maintainability, testability, and user experience.
This project follows Clean Architecture principles with a clear separation of concerns across multiple layers:
lib/
├── application/ # Application layer (Business Logic)
├── data/ # Data layer (External interfaces)
│ ├── network/ # API communication
│ │ ├── client/
│ │ ├── dto/ # Data Transfer Objects
│ └── repository/ # Repository pattern implementation
├── domain/ # Domain layer (Core business entities)
│ ├── entity/
│ └── exception/
├── presentation/ # Presentation layer (UI)
│ ├── pages/
│ ├── theme/ # Theme and color palette
│ └── widget/
└── main.dart
- State management solution
- Modern HTTP client for handling API communication with PokeAPI
- Helps managing converting JSON data, reducing boilerplate and maintaining type safety
- Easy to use, offering a good performance boost
- Easier way to handle infinite scroll with pagination
- To receive the font used in the whole application
- Code quality and style enforcement
- Get to know how to download applications with Firebase via invites from developers: Get set up as a tester
- Get the App Tester (if doesn't have it yet) and use this invite link
- Download and install the application.