Aplicação desenvolvida em Node.js e TypeScript para consulta de Pokémon através da PokeAPI e gerenciamento de um catálogo local persistido em arquivo JSON.
O sistema permite buscar Pokémon por nome, visualizar suas estatísticas, armazená-los em uma PC Box local e gerenciar o catálogo diretamente pelo terminal.
Praticar os conceitos estudados durante o módulo de Back-End:
- Node.js
- TypeScript
- Programação Orientada a Objetos
- Async/Await
- Promises
- Manipulação de JSON
- Métodos de Array
- Tratamento de Erros
- Git e GitFlow
- Node.js
- TypeScript
- PokeAPI
- Git
- GitHub
- Node.js instalado
- npm instalado
- Git instalado
Clone o repositório:
git clone Entre na pasta do projeto:
cd mini-projeto-sctec-pokedexInstale as dependências:
npm installModo desenvolvimento:
npm run devCompilar o projeto:
npm run buildsrc/
│
├── controllers/
│ └── TerminalController.ts
│
├── services/
│ ├── PokeApiService.ts
│ └── catalogoService.ts
│
├── models/
│ └── Pokemon.ts
│
├── main.ts
│
pc_box.json
package.json
tsconfig.json
README.md
- Buscar Pokémon por nome
- Consultar dados diretamente da PokeAPI
- Exibir tipos e estatísticas
- Salvar Pokémon na PC Box
- Impedir registros duplicados
- Listar catálogo salvo
- Remover Pokémon pelo ID
- Persistir dados em arquivo JSON
- Menu interativo no terminal
1 - Buscar Pokémon
2 - Listar catálogo
3 - Remover Pokémon
4 - Sair
Entrada:
pikachu
Saída:
Encontrado: pikachu (#25)
Deseja salvar? (S/N): S
[OK] pikachu adicionado ao catálogo.
Entrada:
pokemon-inexistente
Saída:
[ERRO] Pokémon não encontrado
[AVISO] pikachu já está no catálogo.
[OK] Pokémon removido.
Utilizadas para garantir tipagem dos dados recebidos da API e armazenados no sistema.
Implementação da classe TerminalController, responsável pela interação com o usuário.
Utilizado para:
- Consultar a PokeAPI
- Ler arquivos JSON
- Salvar arquivos JSON
Métodos utilizados no projeto:
- map
- find
- some
- filter
- forEach
Os Pokémon cadastrados são armazenados no arquivo:
pc_box.json
Kanban utilizado durante o desenvolvimento:
Branches utilizadas:
- main
- develop
- feat/pokedex
- docs/readme
Daniel de Almeida
Mini-projeto avaliativo desenvolvido para o curso SCTEC/SENAI-SC.