Skip to content

A Flutter project demonstrating clean architecture principles using the PokeAPI. Features include fetching and displaying Pokémon, viewing detailed information, searching by name, and responsive design for mobile and web. Organized with a feature-first architecture for modularity and maintainability.

Notifications You must be signed in to change notification settings

AdylshaY/flutter-clean-architecture

Repository files navigation

clean_architecture_demo_poke_api

A new Flutter project demonstrating clean architecture principles using the PokeAPI.

Table of Contents

Introduction

This project is a Flutter application that showcases the implementation of clean architecture principles. It uses the PokeAPI to fetch and display data about Pokémon.

Feature-First Architecture

In addition to clean architecture, this project also follows a feature-first architecture approach. This means that the codebase is organized by features rather than by technical layers. Each feature has its own folder containing all the necessary components (UI, state management, use cases, repositories, etc.) to implement that feature. This approach makes the codebase more modular and easier to maintain.

Features

  • Fetch and display a list of Pokémon
  • View detailed information about each Pokémon
  • Search for Pokémon by name
  • Responsive design for both mobile and web platforms

Architecture

The project follows the clean architecture pattern, which divides the codebase into three main layers:

  1. Presentation Layer: Contains the UI code and the state management logic.
  2. Domain Layer (Business layer): Contains the business logic and the use cases.
  3. Data Layer: Contains the data sources and repositories.

Installation

To get started with this project, follow these steps:

  1. Clone the repository:
    git clone https://github.com/yourusername/clean_architecture_demo_poke_api.git
  2. Navigate to the project directory:
    cd clean_architecture_demo_poke_api
  3. Install the dependencies:
    flutter pub get

Usage

To run the application, use the following command:

flutter run

About

A Flutter project demonstrating clean architecture principles using the PokeAPI. Features include fetching and displaying Pokémon, viewing detailed information, searching by name, and responsive design for mobile and web. Organized with a feature-first architecture for modularity and maintainability.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published