A aplicação possui dois endpoints ('/users' e '/auth') que permitem operações CRUD mediante autenticação JWT. Você pode rodar a aplicação em seu ambiente local ou em contêineres.
Importante: os arquivos de configuração como .env e Dockerfile e outros estão presentes para fins de facilitar a execução da aplicação ao clonar o repositório.
Para realização de testes utilize o comando:
npm run test
Para rodar a aplicação em ambiente local você deve se certificar que o Mongo Server está ativo e funcionando com as configurações corretas.
-
NestJS more info
-
Node version: v20.11.1 more info
-
NPM version: 10.8.2 more info
-
MongoDB Compass: 1.44.3 more info
-
MongoDB Server: 7.0.14 more info
- Clone o projeto do repositório do GitHub;
- Certifique-se que está na branch prod;
- Inicie o Mongo Server;
- Instale as dependências da aplicação com o comando
npm install
- Scripts para rodar a aplicação:
npm run build
npm run start:dev
Para rodar a aplicação em Docker.
- Clone o projeto do repositório do GitHub;
- Certifique-se que está na branch prod;
- Scripts para rodar a aplicação:
Para construir as imagens sem iniciar os contêineres
npm run build:docker
Para construir as imagens e rodar os contêineres em primeiro plano
npm run start:docker
A aplicação estará acessível em http://localhost:8010
Caso queira rodar a aplicação em segundo plano utilize o comando:
npm run start:docker:detach
Agora você poderá verificar os contêineres em execução com:
docker ps
Ou mesmo verificar as imagens:
docker images
Para visualizar os logs das aplicações:
npm run logs:docker
Caso queira parar os contêineres utilize:
npm run stop:docker
A aplicação possui um endpoint chamado '/users' que permite realização de operações CRUD e um endpoint '/auth' cujas rotas permitem operações de autenticação do usuário para interagir com a aplicação. Para realizar operações CRUD com o endpoint '/users' você precisa de um token de acesso. Para gerar seu token de acesso siga os passos abaixo:
- Envie via Postman/Insomnia uma requisição POST para http://localhost:8010/auth/register cujo corpo é:
{
"username": "[seu nome de usuário]",
"password": "[sua senha]"
}
Você terá como retorno o seu token de acesso:
{
"acess_token": "[token]"
}
- Com seu token de acesso você poderá acessar as rotas GET, POST, DELETE e PATCH enviando o token no cabeçalho da requisição:
Authorization: Bearer "[token]"
Para saber quais as rotas estão disponíveis verifique a documentação da API.
- Após o token expirar você pode obter um novo token através da rota: http://localhost:8010/auth/login utilizando no corpo da requisição as mesmas credenciais utilizadas no registro.
{
"username": "[seu nome de usuário]",
"password": "[sua senha]"
}
Swagger: http://localhost:8010/api
Rode o comando
npm run docs
Consulte o diretório ./documentation