Code Monkey home page Code Monkey logo

pokedex's Introduction

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.

pokedex's People

Contributors

carlosesrosa avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.