Back to Projects

Pokedex

Flutter Pokemen App

Flutter
1 Stars
0 Forks
Created: 5/24/2025
Updated: 1/22/2026

🧩 Flutter Pokédex

GitHub stars GitHub license GitHub forks GitHub issues

A beautifully crafted Flutter application that displays PokΓ©mon data with features such as favorites, search/filter, and persistent local storage. This project utilizes modern Flutter development tools including provider, auto_route, injectable, and hive, with full support for dark and light themes.

✨ Features

  • βš™οΈ Modular structure for better scalability and maintainability
  • πŸŒ™ Light and Dark Theme support
  • 🧩 State Management using provider
  • 🚦 Route management via auto_route
  • πŸ’‰ Dependency Injection with injectable
  • πŸ’Ύ Local data persistence with hive
  • 🧠 Offline capability for favorite PokΓ©mon and recent filters

πŸ“Έ Screenshots

Here are some screenshots of the app:

<p align="center"> <img src="screenshots/Screenshot_1748367750.png" width="200" /> <img src="screenshots/Screenshot_1748367753.png" width="200" /> <img src="screenshots/Screenshot_1748367759.png" width="200" /> <img src="screenshots/Screenshot_1748367765.png" width="200" /> <img src="screenshots/Screenshot_1748367770.png" width="200" /> <img src="screenshots/Screenshot_1748367773.png" width="200" /> <img src="screenshots/Screenshot_1748367777.png" width="200" /> <img src="screenshots/Screenshot_1748367781.png" width="200" /> <img src="screenshots/Screenshot_1748367783.png" width="200" /> <img src="screenshots/Screenshot_1748367787.png" width="200" /> <img src="screenshots/Screenshot_1748367794.png" width="200" /> <img src="screenshots/Screenshot_1748367802.png" width="200" /> <img src="screenshots/Screenshot_1748367807.png" width="200" /> <img src="screenshots/Screenshot_1748367812.png" width="200" /> <img src="screenshots/Screenshot_1748368581.png" width="200" /> <img src="screenshots/Screenshot_1748368585.png" width="200" /> <img src="screenshots/Screenshot_1748368589.png" width="200" /> </p>

πŸš€ Getting Started

  1. Clone the repository

    git clone https://github.com/AkhmadRamadani/pokedex.git
    cd pokedex
    
  2. Install dependencies

    flutter pub get
    
  3. Generate files (routes, injection)

    flutter pub run build_runner build --delete-conflicting-outputs
    
  4. Run the app

    flutter run
    

πŸ“ Folder Structure

lib/
β”œβ”€β”€ core/                 # Core utilities and shared configuration
β”‚   β”œβ”€β”€ assets/           # Static assets and generated files
β”‚   β”œβ”€β”€ config/           # Route and DI configuration
β”‚   β”œβ”€β”€ constants/        # Global constants (e.g. API)
β”‚   β”œβ”€β”€ databases/        # Hive-related models and services
β”‚   β”œβ”€β”€ extensions/       # Dart/Flutter extension methods
β”‚   β”œβ”€β”€ helpers/          # Utility helpers (e.g. error handling)
β”‚   β”œβ”€β”€ services/         # Low-level services like network
β”‚   β”œβ”€β”€ shared/           # Shared models and widgets
β”‚   β”œβ”€β”€ state/            # UI state definition using Freezed
β”‚   └── themes/           # Light/Dark themes and color config
β”œβ”€β”€ modules/              # Feature-based modules (Pokedex, Favorite, etc)
β”‚   β”œβ”€β”€ splash/           # Splash screen
β”‚   β”œβ”€β”€ home/             # Home view
β”‚   β”œβ”€β”€ pokedex/          # Pokedex feature
β”‚   β”œβ”€β”€ favorite/         # Favorite PokΓ©mon feature
β”‚   └── detail/           # PokΓ©mon detail feature
β”œβ”€β”€ main.dart             # App entry point
β”œβ”€β”€ pokedex\_app.dart      # Root widget of the app
β”œβ”€β”€ pokedex\_provider.dart # Root provider setup
└── hive\_registrar.g.dart # Hive adapter registrations

πŸ“¦ Hive Boxes

  • PokΓ©mon List
  • Favorite PokΓ©mon

πŸŒ™ Theme Support

App will automatically switch between light and dark themes based on system settings. You can also customize themes within the app.

πŸ“Œ Notes

  • Ensure you run build_runner every time you change route or injectable-related files.
  • Hive adapters are already registered via the injectable DI setup.

πŸ“„ License

MIT License Β© Akhmad Ramadani