The Pokedex - Pokemon app is a project that applied some Flutter technologies recommended by Flutter Community such as Bloc Pattern for UI management. Drift SQL Database, Dio for Network Manager, Get It for Dependencies Injection and Hero Widget for Shared Elements between the screens.
Important
Similar project with (Kotlin Language) 👉 Pokedex_Compose 👈
Dio Network Manager is responsible for making requests and retrieving data from the remote server.
Drift Database is responsible for saving the retrieved data from the remote server, querying data from the local database, and supporting offline functionality. (Drift Database Documentation)
Bloc Patterns using single state along with repositories and services, separates business logic, data access, and UI by using streams to handle state and manage data flow. (Bloc Pattern Documentation)
Cached Network Image is a package that it is responsible for loading the images and supports offline functionality.
Palette is used to retrieve the color from the image; in our case, we are using the Pokémon color to paint the linear indicator with the same color.
Get It (Dependencies Injection) is a lightweight dependency injection package for Flutter that allows you to register and access services globally, promoting cleaner and more maintainable code.
Hero Widget creates a smooth animation for shared elements between screens by linking them with a common tag.
The percentage for showing the skills of each Pokémon is calculated using the percentages_with_animation built by @NicosNicolaou16.
Flutter SDK version: 3.24.5
Dart Version: 3.5.4
https://pokeapi.co/
https://github.com/PokeAPI/sprites (GitHub)
https://dribbble.com/shots/6540871-Pokedex-App# - Get some UI - not completely use it (CHECK THE LINK FOR THE DESIGN)