Este é o backend da aplicação Nexus Games Stand - um hub de plataformas de jogos para o usuário! O objetivo dessa aplicação é conseguir criar um frontend de qualidade, que mostrará ao usuário todos os jogos que ele possui em todas as plataformas, possibilitando busca por nome e outros filtros.
"Irineu, você não sabe nem eu! - Irineu?"
A API tem um total de 4 endpoints, sendo em volta principalmente do usuário - podendo cadastrar seu perfil, e jogos custom de fora das plataformas que o site oferece suporte.
O url base da API é https://nexus-gamestand-server.herokuapp.com
POST /register - FORMATO DA REQUISIÇÃO
{
"email": "[email protected]",
"password": "123456"
"username": "user"
}
Caso dê tudo certo, a resposta será assim:
POST /register - FORMATO DA RESPOSTA - STATUS 201
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImV4ZW1wbG9AbWFpbC5jb20iLCJpYXQiOjE2NjE4NzUyODMsImV4cCI6MTY2MTg3ODg4Mywic3ViIjoiNiJ9.IZLD9IX961fQ_FSDH34z7bAyKWLQ1VrXbG5sOHTTRXQ",
"user": {
"email": "[email protected]",
"username": "user",
"id": 1
}
}
Email já cadastrado:
POST /register - FORMATO DA RESPOSTA - STATUS 400
{
"status": "error",
"message": "Email already exists"
}
POST /login - FORMATO DA REQUISIÇÂO
{
"email": "[email protected]",
"password": "123456"
}
Caso dê tudo certo, a resposta será assim:
POST /login - FORMATO DA RESPOSTA - STATUS 201
{
"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImV4ZW1wbG9AbWFpbC5jb20iLCJpYXQiOjE2NjE4NzUyODMsImV4cCI6MTY2MTg3ODg4Mywic3ViIjoiNiJ9.IZLD9IX961fQ_FSDH34z7bAyKWLQ1VrXbG5sOHTTRXQ",
"user": {
"email": "[email protected]",
"username": "user",
"id": 1,
}
}
Com essa resposta, vemos que temos duas informações, o user e o token respectivo, dessa forma você pode guardar o token e o usuário logado no localStorage para fazer a gestão do usuário no seu frontend.
POST /custom_games - FORMATO DA REQUISIÇÃO
{
"name": "Counter Strike Global Offensive",
"platform": "steam",
"image": "https://cdn.akamai.steamstatic.com/steam/apps/730/capsule_616x353.jpg?t=1641233427",
"userId": 1
}
Caso dê tudo certo, a resposta será assim:
POST /custom_games - FORMATO DA RESPOSTA - STATUS 201
{
"name": "Counter Strike Global Offensive",
"platform": "steam",
"image": "https://cdn.akamai.steamstatic.com/steam/apps/730/capsule_616x353.jpg?t=1641233427",
"userId": 1,
"id": 1
}
Para alterar um custom game já cadastrado:
PATCH /custom_games/gameId - FORMATO DA REQUISIÇÃO
{
"name": "Battlefield 4",
"platform": "Origin",
"image": "https://cdn.mcr.ea.com/3/images/d9fd4861-517d-4941-a1b5-fc7d32ecd3ce/1587532055-0x0-0-0.jpg",
"userId": 1
}
Caso dê tudo certo, a resposta será assim:
PATCH /custom_games/gameId - FORMATO DA RESPOSTA - STATUS 200
{
"name": "Battlefield 4",
"platform": "Origin",
"userId": 1,
"id": 1,
"image": "https://cdn.mcr.ea.com/3/images/d9fd4861-517d-4941-a1b5-fc7d32ecd3ce/1587532055-0x0-0-0.jpg"
}
Para deletar um custom game:
DELETE /custom_games/gameId - FORMATO DA REQUISIÇÃO
Não é necessário um corpo da requisição.
Assim como o endpoint de custom games, nesse precisamos estar logados, com o token no cabeçalho da requisição. Estes endpoints são para atualizar seus dados como, foto de perfil, username, ou qualquer outra informação em relação ao que foi utilizado na criação do usuário.
Para atualizar a foto de perfil:
PATCH /users/userId - FORMATO DA REQUISIÇÃO
{
"userImage": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTJcerX6FFwOsAN-fVC24kFXpz0dZNvAjFUazzeEoqEag&s"
}
Caso dê tudo certo, a resposta será assim:
PATCH /users/userId - FORMATO DA RESPOSTA
{
"email": "[email protected]",
"password": "$2a$10$ptiiSlOM59oroae89eBVBuiAzX19xYzAs6tyz69maAGc0GSbuZDye",
"username": "user",
"id": 1,
"userImage": "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTJcerX6FFwOsAN-fVC24kFXpz0dZNvAjFUazzeEoqEag&s"
}
Adam Neves |
Yan Carlo |
Matheus Sudré |
Sidarta Kauã |
Vagner Mengali |
Luan Marchi |