Clonando o repo você terá uma api básica, preparada para autenticação e CRUD, os códigos estão modularizados para que você possa escolher outras ferramentas se assim preferir.
-
Para desenvolver esse starter foi utilizada a a versão LTS do nodejs, que era a:
8.9.3
. -
Banco de dados não relacional, o MongoDB foi escolhido como banco desse starter devido à sua alta popularidade.
-
Framework para controlar as rotas. Escolhido por ser middleware-based, permitindo alta gestão sobre tudo o que acontece na aplicação.
-
JWT é apenas o protocolo de transporte de informações seguras.
-
Módulo para carregar configurações via arquivo
.env
serve para colocarmos informações de configuração que não devem ficar visíveis quando o code subir para o gerenciador de versão, como por exemplo senhas de acesso à APIs externas.
-
Uma ótima ferramenta que antes era um app do chrome e agora é um software standalone que você pode baixar AQUI NO SITE OFICIAL e instalar sem dificuldade.
Na pasta extra-file tem dois arquivos, um contendo as rotas e outro contendo as variáveis de ambiente do Postman, se você nunca usou o postman, aqui estão dois artigos sobre collections (que é a sua coleção de rotas no postman) e outro sobre gerenciamento de ambientes:-
Se você estiver usando GNU / Linux (o que eu aconselho fortemente), poderá utilizar o CURL, conforme os exemplos abaixo
-
Cadastre um user novo Para cadastrar um novo usuário você precisa consumir a rota http://localhost:4000/api/v1/users utilizando o método POST, passando o seguinte objeto como data:
{ "fullname": "Nome Completo" , "email": "[email protected]" , "password": "123456" , "role": "administrator" } //Exemplo com CURL: curl -H "Content-Type: application/json" -X POST -d '{"fullname": "Nome Completo", "email": "[email protected]", "password": "123456", "role": "administrator"}' http://localhost:4000/api/v1/users
- Faça LOGIN Agora você já pode efetuar login, com o usuário criado acima, para isso, consuma rota http://localhost:4000/api/v1/authentications utilizando o método POST, passando o seguinte objeto como data:
{ "usernameOrEmail": "mail" , "password": "123456" , "deviceName": "Notebook" , "networkIp": "177.255.255.255" , "platformOS": "LinuxOS" } Exemplo com CURL: curl -H "Content-Type: application/json" -X POST -d '{ "usernameOrEmail": "mail", "password": "123456", "deviceName": "Notebook", "networkIp": "177.255.255.255", "platformOS": "LinuxOS"} ' http://localhost:4000/api/v1/authentications Isso retornará seu token.
- CRUD para usuários todas as funções de CRUD estão prontas, siga o
modelo:
URL: http://localhost:4000/api/v1- GET em /users retorna todos os usuários cadastrados
- GET em /users/{_idDoUsuário} retorna os dados desse usuário, substitua
{_idDoUsuário}
pelo campo_id
, a rota ficará mais ou menos assim: /users/59c2a1833cd2d204529667dc - POST em /users com o objeto
{"fullname": "Nome Completo", "email": "[email protected]", "password": "123456", "role": "administrator"}
cria um novo usuário - PUT em /users/{_idDoUsuário} com o objeto
{ senha }
altera a senha do usuário. - DELETE em /users/{_idDoUsuário} seta o STATUS do usuários para FALSE, para que ele não seja literalmente removido da base de dados.
-