Bem-vindo à MaroDéx, uma Pokédex moderna e completa construída com Flutter. Explore o vasto mundo Pokémon, descubra detalhes sobre suas criaturas favoritas, gerencie sua lista de favoritos e muito mais!!
O aplicativo oferece uma experiência rica e interativa para todos os treinadores Pokémon:
- Autenticação de Utilizador: Faça login com sua conta Google ou entre como convidado para uma experiência anônima.
- Navegação por Gerações e Regiões: Explore os Pokémon organizados por gerações (I a VIII) ou por regiões (Kanto, Johto, etc.).
- Lista Completa de Pokémon: Acesse a lista com todos os Pokémon disponíveis na API.
- Pesquisa e Filtragem Avançada:
- Busque Pokémon por nome ou número.
- Filtre a lista por tipo (Fogo, Água, Planta, etc.).
- Ordene os resultados por número da Pokédex ou por ordem alfabética.
- Filtre para ver apenas Pokémon Lendários ou Míticos.
- Visualização de Detalhes:
- Veja informações completas como altura, peso, habilidades e estatísticas base (HP, Ataque, Defesa, etc.).
- Visualize as evoluções de cada Pokémon e navegue entre elas.
- Ouça o som característico (grito) de cada Pokémon.
- Alterne entre a arte normal e a versão Shiny.
- Sistema de Favoritos:
- Marque seus Pokémon preferidos com uma estrela.
- Acesse uma tela dedicada apenas aos seus favoritos.
- Os favoritos são salvos localmente para convidados e sincronizados com o Firestore para utilizadores logados.
- Movesets Completos:
- Explore a lista de todos os golpes que um Pokémon pode aprender.
- Veja detalhes de cada golpe, como poder, precisão, tipo e efeito.
- Descubra quais outros Pokémon podem aprender um determinado golpe.
Este projeto foi construído utilizando as seguintes tecnologias e pacotes:
- Framework: Flutter
- Linguagem: Dart
- Base de Dados (Backend): Firebase
- Authentication: Para login com Google e anônimo.
- Cloud Firestore: Para salvar os Pokémon favoritos dos utilizadores logados.
- API: PokéAPI - A principal fonte de dados sobre os Pokémon.
- Gestão de Estado:
ValueNotifierpara uma gestão de estado reativa e simples. - HTTP Requests: Pacote
httppara comunicação com a PokéAPI. - Assets:
flutter_svgpara a exibição de ícones de tipo em formato SVG. - Armazenamento Local:
shared_preferencesepath_providerpara cache de dados e favoritos de convidados. - Áudio:
audioplayerspara tocar os sons dos Pokémon.
| Login | Home | Todos os Pokémons |
|---|---|---|
![]() |
![]() |
![]() |
| Favoritos | Filtros | Detalhes Pokémon |
|---|---|---|
![]() |
![]() |
![]() |
| Moveset | Detalhe do Golpe | Shiny Pokémons |
|---|---|---|
![]() |
![]() |
![]() |
| Evoluções |
|---|
![]() |
Siga os passos abaixo para configurar e executar o projeto localmente.
- Ter o Flutter SDK instalado.
- Um editor de código como VS Code ou Android Studio.
- Um projeto Firebase configurado.
-
Clone o repositório:
git clone https://github.com/AmaroMiranda/pokedex-app-flutter.git cd pokedex-app-flutter -
Configure o Firebase:
- Crie um novo projeto no console do Firebase.
- Siga as instruções para adicionar o Firebase ao seu aplicativo Flutter usando o FlutterFire CLI. Isso irá gerar os arquivos
firebase_options.dartegoogle-services.jsonespecíficos para o seu projeto. - Importante: Certifique-se de que os arquivos
google-services.json,firebase.jsonelib/firebase_options.dartestão no seu.gitignorepara não expor suas chaves.
-
Instale as dependências:
flutter pub get
-
Execute o aplicativo:
flutter run
O projeto está organizado da seguinte forma para manter o código limpo e escalável:
lib/
├── controllers/ # Lógica e estado das telas
├── models/ # Modelos de dados (Pokemon, Move, etc.)
├── repositories/ # Comunicação com APIs
├── screens/ # Telas do app
├── services/ # Firebase e outros serviços
├── theme/ # Temas e estilos
├── utils/ # Funções utilitárias
├── widgets/ # Widgets reutilizáveis
└── main.dart # Ponto de entrada
Contribuições são bem-vindas! Se você tiver ideias para novas funcionalidades ou melhorias, sinta-se à vontade para abrir uma issue ou enviar um pull request.
Este projeto foi desenvolvido exclusivamente para fins educacionais e sem fins lucrativos. Ele utiliza a PokéAPI, uma API pública de dados relacionados ao universo Pokémon.
Este aplicativo não é afiliado, endossado ou patrocinado pela Nintendo, Game Freak, The Pokémon Company ou quaisquer de seus parceiros oficiais. Todos os direitos relacionados à franquia Pokémon pertencem aos seus respectivos detentores.
Se você é proprietário de algum conteúdo e deseja solicitar a remoção, por favor entre em contato.
Feito por Amaro Miranda










