https://github.com/rafaelpermec/pokemon-trainer-party
Um treino sobre Back-End em MongoDB, Typescript, Principios SOLID, programação orientada à objetos e arquitetura de softwares, com um projeto simula um jogo pokemon da primeira geração.
https://github.com/rafaelpermec/pokemon-trainer-party
express mongodb mongoose msc-architecture nodejs oop-principles pokemon-api restful-api solid-principles typescript
Last synced: 7 months ago
JSON representation
Um treino sobre Back-End em MongoDB, Typescript, Principios SOLID, programação orientada à objetos e arquitetura de softwares, com um projeto simula um jogo pokemon da primeira geração.
- Host: GitHub
- URL: https://github.com/rafaelpermec/pokemon-trainer-party
- Owner: rafaelPermec
- Created: 2022-09-28T03:34:02.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2023-02-02T20:58:27.000Z (over 2 years ago)
- Last Synced: 2025-02-04T13:59:08.384Z (9 months ago)
- Topics: express, mongodb, mongoose, msc-architecture, nodejs, oop-principles, pokemon-api, restful-api, solid-principles, typescript
- Language: TypeScript
- Homepage:
- Size: 73.2 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# My Pokemon Trainer API
## Objetivo
Este projeto é uma execução da API `pokeapi.com` com foco em construir uma pokédex para cada treinador dessa internet!
[](https://sonarcloud.io/summary/new_code?id=rafaelPermec_pokemon-trainer-party)
## Técnologias usadas




## Como rodar o projeto?
Localmente
1 - Dê o fork no projeto e clone-o para sua maquina com o comando
`git clone git@github.com:rafaelPermec/pokemon-trainer-party.git`
em seu terminal.
2 - Entre com o comando `cd pokemon-trainer-party && npm install` para entrar no diretório principal e instalar as dependências do projeto.
3 - Crie um arquivo `.env` e configure as variáveis de ambiente
```js
PORT=3001
DB_MONGO_URI=`mongodb://localhost:27017/${nomeDeSeBancoDeDados}`
DB_MONGO_DBNAME='nomeDeSeBancoDeDados'
```
4 - Digite `npm start` ou `npm run dev` para começar a rodar o servidor. Ele estará na porta `3001`.
5 - Abra seu GUI preferido (Postman, Insomnia ou Thunder Cliente) para fazer as requisições à minha API! 😃
6 - Não se esqueça de direcionar sua GUI de requisições ou Browser para `http://localhost:3001`.
7 - Para visualizar a documentação, basta acessar `http://localhost:3001/api-doc`
## Executando Testes
Para rodar todos os testes, execute o comando abaixo na mesma pasta que está o package.json:
```
npm run test
```
## Roadmap:
1 - Vá até o endpoint `/pokemon/generate` para gerar um pokemon aleatório. Você pode enviar novas requisições `GET` para este mesmo endpoint, e vai ficar parecendo que está correndo na grama do jogo!
2 - Depois até o endpoint `/item/generate` para gerar um item aleatório, que pode ser trocado enviando uma requisição `GET` para este mesmo endpoint - fique atento! É difícil ele se repetir!
3 - Dê um nome para o seu pokémon, utilizando o `body: { newName: 'nomeDePreferencia' }` na rota `PATCH /pokemon/add-party-name`.
4 - Anexe o item que você encontrou no passo dois através do endpoint `PATCH /item/add-item`.
5 - Cansou do item? Você pode retira-lo de seu pokémon pela rota `PATCH /item/remove-item`.
6 - Agora sim, capture o pokémon pela rota `POST /pokemon/capture`!!
7 - Quer ver quantos pokemons capturou até agora?? Cheque sua pokédex na rota `GET /pokedex`.
8 - Se quiser soltar um pokémon, utilize a rota `DELETE /pokedex/remove/id/:id` - aonde o `:id` é o número identificador do seu pokémon na aplicação!
9 - Cansou e quer liberar todos? Utilize a rota `DELETE /pokedex/remove/all`