/NICEPLANET_Back-End

Este projeto consiste em uma simulação de criação de uma API que oferece a funcionalidade de cadastrar e monitorar os produtores e propriedades de sua carteira de clientes.

Primary LanguageJavaScript

NICEPLANET_Back-End 🌎

Introdução

O objetivo deste projeto é criar uma API que permite cadastrar e gerenciar os produtores e as propriedades de sua carteira de clientes de forma eficiente e centralizada.

Rodar o projeto

Para executar as rotas você pode utilizar um software de sua preferência ou, com o servidor rodando utilize a rota do swagger pelo navegador:

http://localhost:3000/docs/

Utileze o script do BD MySQL: BD_Script


  1. Com os dados do BD prontos, faça o clone do projeto utilizando: git clone https://github.com/Feliipe014/NICEPLANET_Back-End

git clone https://github.com/Feliipe014/NICEPLANET_Back-End

  1. Entre na pasta do projeto e execute: npm install

npm install

  1. Para iniciar o projeto execute: npm start

npm start

Testando o sistema de rotas

  1. Teste a rota inicial para verificar se esta rodando: Tipo(GET)

    http://localhost:3000/

  2. Acesse a rota login para obter a chave JWT e ter acesso as outras rotas, passe um user e um password: Tipo(POST)

Copie o token que foi gerado, mas lembre-se o token tem uma validade de 300 segundos (5 minutos).

http://localhost:3000/login

{
   "user": "teste",
   "password": "12345"
}

Não esqueça de definir o headers:

image

  1. Copie o "token" que foi gerado para acessar as demais rotas

    Exemplo de saída:

{
   "auth": true,
   "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VySWQiOjEsImlhdCI6MTY4NDUyMTc4MywiZXhwIjoxNjg0NTIyMDgzfQ.DnaKvQQXTYpb_e5mvSO22--Nu_3srOL6VcPM9SoapgI"
}
  1. Configure a rota cadastro adicione ao headers "Content-Type" e "x-access-token"(onde vai o token):

image

  1. Acesse a rota cadastro e passe o json com os campos correspondentes: Tipo(POST)

    http://localhost:3000/cadastro

{
	"nomeProdutor": "Exmplo", 
	"cpfProdutor": "11111111111",
	"nomePropriedade": "Fazenda exemplo",
	"cadastroRural": "456798"
}

Uma menssagem de confirmação ira mostrar que a query foi feita:

image

  1. Configure a rota buscar adicionando novamente ao headers o token gerado:

image

  1. Acesse a rota buscar usando o ID como parametro: Tipo(GET)

http://localhost:3000/buscar?idProdutor=1&idPropriedade=1

Exemplo de saída:

{
	"produtor": {
		"idProdutor": 1,
		"nomeProdutor": "Charmy Pappitson",
		"cpfProdutor": "12345678901"
	},
	"propriedade": {
		"idPropriedade": 1,
		"nomePropriedade": "Touros Negros",
		"cadastroRural": 111111
	}
}

Para procurar somente por um produtor ou por uma propriedade, basta apagar o campo que contem a passagem do mesmo, por exemplo:

http://localhost:3000/buscar?idProdutor=1

Exemplo de saída:

{
	"produtor": {
		"idProdutor": 1,
		"nomeProdutor": "Charmy Pappitson",
		"cpfProdutor": "12345678901"
	}
}
  1. Para realizar o logout basta configurar a rota com o token que irá ser deletado e acessar a rota: Tipo(POST)

http://localhost:3000/logout

image

Uma menssagem de confirmação aparecera na tela:

{
	"message": "Logout realizado com sucesso!"
}