API START WARS
O objetivo desta API consiste em guardar e gerenciar informações de planetas dos filmes da franquia.
Está aplicação foi soliciada para testar as minhas habilidades em um processo seletivo para back-end developer.
Esta API é desenvolvida ultilizando o Node js junto com o banco de dados não relacional chamado MongoDB.
Intruções para a instalação
- Clone o repositório para o seu computador.
git clone https://github.com/christian-de-ornellas/api-starwars.git
- Instale as dependencias usando o npm.
npm install
- No seu terminal e dentro pasta da aplicação, execute comando abaixo.
npm start
Rotas da API
A API é acessada mediante a uma autenticação por JWT, siga os passos abaixo.
Cadastro de usuário
Para cadastrar o usuário acesse a url abaixo e coloque os campos da requisição.
http://localhost:3000/auth/register
REQUEST = POST
{
"name": "Testador",
"email": "auth@test.com.br",
"password": "123456"
}
Autenticação de Usuário
Digite o e-mail e senha cadastrada para logar, após a autenticação será retornado um token para você colocar no Bearer do postman, insomnia ou software rest de sua escolha.
http://localhost:3000/auth/register
REQUEST = POST
{
"email": "auth@test.com.br",
"password": "123456"
}
Cadastrar Planeta
Para cadastrar um planeta você precisa inserir os dados do planeta como no exemplo abaixo.
http://localhost:3000/planets
REQUEST = POST
{
"name": "Dagobah",
"climate": "murky",
"terrain": "swamp, jungles"
}
Conta o número filmes que cada planeta participou.
Para contar o número de participações em filmes basta executar um GET.
Nós estamos consumindo a API https://swapi.co/api/planets para receber as informações da franquia.
Está rota é divida em páginas que vão de 1 a 7 como no exemplo abaixo.
http://localhost:3000/planets/swapi/1
http://localhost:3000/planets/swapi/2
http://localhost:3000/planets/swapi/3
http://localhost:3000/planets/swapi/4
http://localhost:3000/planets/swapi/5
http://localhost:3000/planets/swapi/6
http://localhost:3000/planets/swapi/7
Listar todos Planetas
Para listar todos os planetas cadastrados você precisa executar um REQUEST GET usando o endereço abaixo.
http://localhost:3000/planets
Consultar planeta por id
Para consultar planeta por id você precisa acessa a rota listar todos os planetas copiar o id de um planeta e executar o REQUEST GET como no exemplo abaixo.
http://localhost:3000/planets/iddoplaneta
Consultar planeta por nome
Para consultar planeta por id você precisa acessa a rota listar todos os planetas copiar o nome de um planeta e executar o REQUEST GET como no exemplo abaixo.
http://localhost:3000/planets/nomedoplaneta
Remover um planeta
Para remover planeta você precisa acessa a rota listar todos os planetas copiar o id de um planeta colar na url e executar o REQUEST DELETE como no endereço abaixo.
http://localhost:3000/planets/iddoplaneta
Atualizar Planeta
Para atualizar um planeta você precisa acessa a rota listar todos os planetas copiar o id do planeta que deseja atualizar e colar na rota como no exemplo abaixo, alterar as informações e executar.
http://localhost:3000/planets/iddoplaneta
REQUEST = POST
{
"name": "Dagobah",
"climate": "murky",
"terrain": "swamp, jungles"
}