Skip to content

daragneri/json-server-base

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SuperDucks - API

Este é o backend da aplicação SuperDucks, o projeto final de front-end do terceiro módulo da Kenzie - Uma aplicação para encontrar seus filmes favoritos! O objetivo dessa aplicação é conseguir recomendar filmes aos usuários e conecta-los com facilidade as telas.

Esse é o repositório com a base de JSON-Server + JSON-Server-Auth, feita para ser usada no desenvolvimento da API no Projetos final de Front-end.

Endpoints

A API tem um total de 7 endpoints, sendo voltada ao usuário - podendo cadastrar seu perfil, listar seus filmes favoritos e lsitar gêneros favoritos.
O url base da API é https://final-project-m3.herokuapp.com

Rotas que não precisam de autenticação

Criação de usuário

POST /register

{
  "name": "John Doe",
  "email": "johndoe@email.com",
  "password": "123456",
  "confirmPassword": "123456"
  "genres": [],
  "movie_list": []
}

Caso dê tudo certo, a resposta será assim:

{
	"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5kb2VAZW1haWwuY29tIiwiaWF0IjoxNjYyMTMzMTM2LCJleHAiOjE2NjIxMzY3MzYsInN1YiI6IjUifQ.qZshpSm-BelAdl0wiv7xbShGFI8mTmnpflnQu1SscLY",
	"user": {
		"email": "johndoe@email.com",
		"name": "John Doe",
		"id": 5,
		"genres": [],
  		"movie_list": []
	}
}

Possíveis erros

Caso você acabe errando e mandando algum campo errado, a resposta de erro será assim:

A senha necessita de 4 caracteres.

POST /register - FORMATO DA RESPOSTA - STATUS 400

{
  "status": "error",
  "message": ["password: minimum is too short"]
}

Email já cadastrado:

POST /register - FORMATO DA RESPOSTA - STATUS 400

{
  "status": "error",
  "message": "Email already exists"
}

Email com formato errado:

POST /register - FORMATO DA RESPOSTA - STATUS 400

{
  "status": "error",
  "message": "Email format is invalid"
}

Login

POST /login - FORMATO DA REQUISIÇÃO

{
  "email": "johndoe@email.com",
  "password": "123456"
}

Caso dê tudo certo, a resposta será assim:

POST /login - FORMATO DA RESPOSTA - STATUS 201

{
	"accessToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJlbWFpbCI6ImpvaG5kb2VAZW1haWwuY29tIiwiaWF0IjoxNjYyMTMzMTM2LCJleHAiOjE2NjIxMzY3MzYsInN1YiI6IjUifQ.qZshpSm-BelAdl0wiv7xbShGFI8mTmnpflnQu1SscLY",
	"user": {
		"email": "johndoe@email.com",
		"name": "John Doe",
		"confirmPassword": "123456",
		"id": 5
	}
}

Rotas que necessitam de autorização

Rotas que necessitam de autorização deve ser informado no cabeçalho da requisição o campo "Authorization", dessa forma:

Authorization: Bearer {token}

PATCH /users/id - FORMATO DA REQUISIÇÃO

"genres": ["Drama", "Action"]

Nesse endpoint podemos atualizar os genêros selecionados pelo usuário

PATCH /users/id - FORMATO DA REQUISIÇÃO

"movies_list": ["Resident evil", "Forest Gump"]

Nesse endpoint podemos atualizar a lista de filmes selecionados pelo usuário

PATCH /users/id - FORMATO DA REQUISIÇÃO

"name": "John Doe",

Nesse endpoint podemos alterar o nome do usuário

PATCH /users/id - FORMATO DA REQUISIÇÃO

"password": "123456",
"confirmPassword": "123456"

Nesse endpoint podemos alterar a senha do usuário

PATCH /users/id - FORMATO DA REQUISIÇÃO

"url": "URL da foto",

Nesse endpoint podemos alterar a foto de perfil do usuário

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%