Um aplicativo Flutter que exibe uma coleção de Pokémon usando a PokeAPI.
- Lista de Pokémon com paginação infinita
- Busca de Pokémon por nome
- Detalhes do Pokémon
- Interface moderna e responsiva
- Gerenciamento de estado com MobX
- Arquitetura limpa (Clean Architecture)
- Flutter
- MobX para gerenciamento de estado
- Modular para injeção de dependência
- PokeAPI para dados dos Pokémon
- Clean Architecture
O projeto segue os princípios da Clean Architecture:
lib/
├── core/
│ ├── di/ # Injeção de dependência
│ ├── error/ # Tratamento de erros
│ └── usecases/ # Casos de uso base
├── data/
│ ├── datasources/ # Fontes de dados (API, local)
│ ├── models/ # Modelos de dados
│ └── repositories/# Implementações dos repositórios
├── domain/
│ ├── entities/ # Entidades do domínio
│ ├── repositories/# Interfaces dos repositórios
│ └── usecases/ # Casos de uso específicos
└── presentation/
├── controllers/ # Controladores (MobX stores)
├── pages/ # Telas do aplicativo
└── widgets/ # Widgets reutilizáveis
- Clone o repositório:
git clone https://github.com/seu-usuario/pokedex-app.git
cd pokedex-app
- Instale as dependências:
flutter pub get
- Execute o aplicativo:
flutter run
- Crie um arquivo
.env
na raiz do projeto com as seguintes variáveis:
POKEAPI_BASE_URL=https://pokeapi.co/api/v2
Este projeto segue o padrão de commits do Conventional Commits:
feat
: Nova funcionalidadefix
: Correção de bugdocs
: Alterações na documentaçãostyle
: Alterações de estilo (formatação, espaços, etc)refactor
: Refatoração de códigotest
: Adição ou correção de testeschore
: Atualizações de build, configurações, etc
Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
- flutter_mobx: 2.2.0+2