Skip to content

CarlosESRosa/Pokedex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 

Repository files navigation

A pokédex é um projeto Full Stack onde é possível criar seu usuário e selecionar seus pokémons favoritos.

Habilidades envolvidas

Frontend:

  • React
  • Javascript
  • HTML CSS
  • Bootstrap
  • Responsividade
  • React Testing Library
  • Jest

Backend:

  • Node
  • Javascript
  • Express
  • Sequelize
  • Docker
  • Jsonwebtoken
  • Bcrypt
Como rodar
- Rode o comando `docker-compose up` para criar seu docker-compose, esse compose possui o banco de dados que será utilizado.
- Com o banco de dados criado, na pasta ./Backend rode o comando `npm run db:reset` `npm run dev`.
- Com o Backend online, na pasta ./Frontend rode o comando `npm start`.
API

GET /ping

  • Use o endpoint GET /ping para testar a api, em caso de sucesso retorna:
{
  "message": "pong"
}

POST /user

  • Você deve preencher o body com um username e um password validos, exemplo:
{
 "username": "Carlos",
 "password": "Password1",
}
  • Em caso de sucesso, retorna as informações do usuário criado:
{
  "id": 4,
  "username": "<Carlos>",
  "password": "$2a$10$ILdKzLspVXavt9GCrtqf8urcITmpFgPjdgJX.cM9zKKLk.JTX/Rk."
}

POST /login

  • Você deve preencher o body com um username e um password validos, exemplo:
{
 "username": "Carlos",
 "password": "Password1",
}
  • Em caso de sucesso, retorna um token que tem duração de 24h e será utilizado em requisições futuras:
  "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJkYXRhIjp7InVzZXJuYW1lIjoiQ2FybG9zIn0sImlhdCI6MTY2ODgxMjg4NywiZXhwIjoxNjY4ODk5Mjg3fQ.MQsfKi91O-1I1mwh9GZMXENGkCTmcvck9tF99xVD8l0"

GET /user

  • Retorna todos usuários criados.
[
  {
	 "id": 1,
	 "username": "Rosa",
	 "password": "$2b$10$5Qd1/hSjzmfAtCOfFk.JVOm0B8owvYxKJbtvuiXOQKUKyazUmyTCi"
  },
  {
	 "id": 2,
	 "username": "Carlos",
	 "password": "$2b$10$0cPJ7eH2cdNd5FIWI9Ba5.Z2UkkyGTUxuA3taRcaVWq2v//55z4H6"
  }
]

GET /pokemon

  • Retorna as informações dos pokemons.

GET /pokemon/<id>

  • Retorna as informações de determinado pokemon.

GET /favorite

  • Você deve preencher o Header authorization com o token recebido ao efetuar Login.
  • Retorna todos os pokemons favoritos do usuário mencionado.
[
 {
   	"user_id": 1,
   	"pokemon_id": 134
   },
   {
   	"user_id": 1,
   	"pokemon_id": 149
   },
   {
   	"user_id": 1,
   	"pokemon_id": 6
   }
]

POST /favorite

  • Você deve preencher o Header authorization com o token recebido ao efetuar Login.
  • Você deve preencher no Body o campo pokemon_id com o id do pokemon que deseja favoritar.
{
  "pokemon_id": 144
}
  • Em caso de sucesso retorna retorna:
 {
   "user_id": 1,
   "pokemon_id": 145
}

DEL /favorite

  • Você deve preencher o Header authorization com o token recebido ao efetuar Login.
  • Você deve preencher no Body o campo pokemon_id com o id do pokemon que deseja desfavoritar.
{
  "pokemon_id": 144
}
  • Em caso de sucesso retorna retorna um 204.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published