Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Docker e Docker-compose.
$ git clone https://github.com/lsprgabriel/desafio-estagio-ti.git
$ cd desafio-estagio-ti
$ docker-compose up -d # Talvez seja necessário executar como administrador(sudo)
Pronto!
O Backend em Nestjs estará rodando em http://localhost:3000
O Frontend em Vite + ReactJS em http://localhost:8000
Caso esteja testando o sistema e não queira criar vários usuários na "mão", use o arquivo load_db.sh
$ chmod +x load_db.sh
$ ./load_db.sh
Pronto!
Agora, para conseguir gerenciar os usuários, crie uma conta de Administrar em http://localhost:8000/api/signup
obs: Não se esqueça de marcar a opção "É administrador" como "Sim".
Caso algum erro ocorra, me contate em <[email protected]>
Bem-vindo à documentação da API desafio-estagio-ti. Esta API fornece endpoints para realizar operações CRUD (CREATE, READ, UPDATE, DELETE) relacionadas a usuários.
Esta documentação guiará você através dos diferentes endpoints disponíveis na API.
- Descrição: Este endpoint permite cadastrar um novo usuário.
- Método: POST
- URL:
http://localhost:3000/api/signup
- Corpo da Requisição:
{
"name": "Gabriel",
"age": 19,
"email": "[email protected]",
"password": "gabriel123",
"isAdmin": false
}
- Descrição: Este endpoint permite autenticar um usuário.
- Método: POST
- URL:
http://localhost:3000/api/login
- Corpo da Requisição:
{
"email": "[email protected]",
"password": "gabriel123"
}
- Descrição: Este endpoint retorna todos os usuários cadastrados.
- Método: GET
- URL:
http://localhost:3000/api/users
- Autenticação: JWT Token de um Admin necessário.
- Exemplo de Resposta Esperada:
{
"message": "Usuários encontrados com sucesso!",
"data": [
{
"id": "6559af60b1404cc9cb2cb786",
"name": "Gabriel",
"age": 19,
"email": "[email protected]",
"password": "$2b$10$m82Q78LZxFyV8Ct4aiLiyOKwlZwNRpd16B0uI./UdpF87MQ.SpU2W",
"isAdmin": false
},
{
"id": "6559b1952629f63665cd4948",
"name": "Admin",
"age": 42,
"email": "adminadmin",
"password": "$2b$10$9zuQ34Y4NBnclSrEj90ay.WQJW.vV53pB23Q9RLqpYTWrB8kcZjY.",
"isAdmin": true
}
]
}
- Descrição: Este endpoint retorna informações de um usuário específico.
- Método: GET
- URL:
http://localhost:3000/api/user/:id
- Parâmetros de Rota: id (ID do usuário)
- Autenticação: JWT Token de um Admin necessário.
- Exemplo de Resposta Esperada:
{
"message": "Usuário encontrado com sucesso!",
"data": {
"id": "6559af60b1404cc9cb2cb786",
"name": "Gabriel",
"age": 19,
"email": "[email protected]",
"password": "$2b$10$m82Q78LZxFyV8Ct4aiLiyOKwlZwNRpd16B0uI./UdpF87MQ.SpU2W",
"isAdmin": false
},
}
- Descrição: Este endpoint permite editar informações de um usuário existente.
- Método: PUT
- UR:
http://localhost:3000/api/user/:id
- Parâmetros de Rota: id (ID do usuário)
- Corpo da Requisição:
{
"name": "Gabriel",
"age": 19,
"email": "[email protected]",
"isAdmin": true
}
- Autenticação: JWT Token de um Admin necessário.
- Exemplo de Resposta Esperada:
{
"message": "Usuário atualizado com sucesso!",
"data": {
"id": "6559af60b1404cc9cb2cb786",
"name": "Gabriel",
"age": 19,
"email": "[email protected]",
"password": "$2b$10$m82Q78LZxFyV8Ct4aiLiyOKwlZwNRpd16B0uI./UdpF87MQ.SpU2W",
"isAdmin": true
}
}
- Descrição: Este endpoint permite excluir um usuário existente.
- Método: DELETE
- URL:
http://localhost:3000/api/user/:id
- Parâmetros de Rota: id (ID do usuário)
- Autenticação: JWT Token de um Admin necessário.
- Exemplo de Resposta Esperada:
{
"message": "Usuário deletado com sucesso!",
"data": {
"id": "6559af60b1404cc9cb2cb786",
"name": "Gabriel",
"age": 19,
"email": "[email protected]",
"password": "$2b$10$m82Q78LZxFyV8Ct4aiLiyOKwlZwNRpd16B0uI./UdpF87MQ.SpU2W",
"isAdmin": true
}
}
- Certifique-se de incluir o token JWT válido nas requisições autenticadas.
- Consulte a documentação do Postman para mais informações sobre como usar variáveis, autorizações e testes.