Skip to content

daniel-dealmeida-dev/PokeAPI

Repository files navigation

PokeAPI

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.

Objetivo

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

Tecnologias Utilizadas

  • Node.js
  • TypeScript
  • PokeAPI
  • Git
  • GitHub

Pré-requisitos

  • Node.js instalado
  • npm instalado
  • Git instalado

Instalação

Clone o repositório:

git clone 

Entre na pasta do projeto:

cd mini-projeto-sctec-pokedex

Instale as dependências:

npm install

Como Executar

Modo desenvolvimento:

npm run dev

Compilar o projeto:

npm run build

Estrutura do Projeto

src/
│
├── controllers/
│   └── TerminalController.ts
│
├── services/
│   ├── PokeApiService.ts
│   └── catalogoService.ts
│
├── models/
│   └── Pokemon.ts
│
├── main.ts
│
pc_box.json
package.json
tsconfig.json
README.md

Funcionalidades

  • 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

Exemplo de Execução

Menu Principal

1 - Buscar Pokémon
2 - Listar catálogo
3 - Remover Pokémon
4 - Sair

Busca Válida

Entrada:

pikachu

Saída:

Encontrado: pikachu (#25)
Deseja salvar? (S/N): S

[OK] pikachu adicionado ao catálogo.

Busca Inválida

Entrada:

pokemon-inexistente

Saída:

[ERRO] Pokémon não encontrado

Duplicidade

[AVISO] pikachu já está no catálogo.

Remoção

[OK] Pokémon removido.

Conceitos Aplicados

Utilizadas para garantir tipagem dos dados recebidos da API e armazenados no sistema.

Programação Orientada a Objetos

Implementação da classe TerminalController, responsável pela interação com o usuário.

Async/Await

Utilizado para:

  • Consultar a PokeAPI
  • Ler arquivos JSON
  • Salvar arquivos JSON

Métodos de Array

Métodos utilizados no projeto:

  • map
  • find
  • some
  • filter
  • forEach

Persistência Local

Os Pokémon cadastrados são armazenados no arquivo:

pc_box.json

Organização do Projeto

Kanban utilizado durante o desenvolvimento:

https://trello.com/invite/b/6a22dee9cfdbb23c3f54bc83/ATTIaae98d8333dcf94fc1a6035acdb392fa728040CF/sctecpokedex

Estratégia de Versionamento

Branches utilizadas:

  • main
  • develop
  • feat/pokedex
  • docs/readme

Autor

Daniel de Almeida

Mini-projeto avaliativo desenvolvido para o curso SCTEC/SENAI-SC.

About

Mini-projeto avaliativo do curso SCTEC SENAI/SC. Uma aplicação utilitária desenvolvida em Node.js com TypeScript para consulta da PokeAPI e gerenciamento de um catálogo local de Pokémon via terminal.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors