- HTML 80%
- JavaScript 19.9%
- CSS 0.1%
| coverage | ||
| deployment | ||
| documentacao | ||
| src | ||
| .dockerignore | ||
| .env.EXAMPLE | ||
| .gitignore | ||
| .gitlab-ci.yml | ||
| babel.config.cjs | ||
| DockerFile | ||
| jest.setup.js | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| server.js | ||
🌐 API Gerenciamento de Locação de Ferramentas
Este projeto é uma API para gerenciamento de locação de ferramentas. A API permite gerenciar usuários, grupos, clientes, categorias, revisões, ferramentas, locações, rotas e autenticação. A documentação da API é gerada automaticamente usando Swagger.
🚀 Tecnologias
- JavaScript
- NodeJS
- ExpressJS
- MongoDB
- Docker
Funcionalidades
- Gerenciamento de usuários
- Gerenciamento de grupos
- Gerenciamento de clientes
- Gerenciamento de categorias
- Gerenciamento de revisões
- Gerenciamento de ferramentas
- Gerenciamento de locações
- Gerenciamento de rotas
- Autenticação de usuários
- Recuperação de senha
- Documentação da API com Swagger
📚 Documentação das Rotas da API
Middleware de Autenticação
Todas as rotas, exceto as de login, utilizam o AuthMiddleware para garantir que apenas usuários autenticados tenham acesso.
Categorias
-
GET /categorias
Lista todas as categorias cadastradas. -
GET /categorias/:id
Lista uma categoria específica com base noidfornecido. -
POST /categorias
Cria uma nova categoria. -
PUT /categorias/:id
Atualiza completamente uma categoria com base noidfornecido. -
DELETE /categorias/:id
Deleta uma categoria com base noidfornecido.
Clientes
-
GET /clientes
Lista todos os clientes cadastrados. -
GET /clientes/:id
Lista um cliente específico com base noidfornecido. -
POST /clientes
Cria um novo cliente. -
PUT /clientes/:id
Atualiza completamente um cliente com base noidfornecido. -
DELETE /clientes/:id
Deleta um cliente com base noidfornecido.
Ferramentas
-
GET /ferramentas
Lista todas as ferramentas cadastradas. -
GET /ferramentas/:id
Lista uma ferramenta específica com base noidfornecido. -
POST /ferramentas
Cria uma nova ferramenta. -
PUT /ferramentas/:id
Atualiza completamente uma ferramenta com base noidfornecido. -
DELETE /ferramentas/:id
Deleta uma ferramenta com base noidfornecido.
Grupos
-
GET /grupos
Lista todos os grupos cadastrados. -
GET /grupos/:id
Lista um grupo específico com base noidfornecido. -
POST /grupos
Cria um novo grupo. -
PUT /grupos/:id
Atualiza completamente um grupo com base noidfornecido. -
DELETE /grupos/:id
Deleta um grupo com base noidfornecido.
Locações
-
GET /locacoes
Lista todas as locações cadastradas. -
GET /locacoes/:id
Lista uma locação específica com base noidfornecido. -
POST /locacoes
Cria uma nova locação. -
PUT /locacoes/:id
Atualiza completamente uma locação com base noidfornecido. -
DELETE /locacoes/:id
Deleta uma locação com base noidfornecido.
Login
-
POST /login
Realiza o login do usuário. -
POST /logout
Realiza o logout do usuário. -
POST /token/revoke
Revoga o token de acesso do usuário. -
POST /token
Atualiza o token de acesso do usuário.
Recuperar Senha
-
POST /recuperarsenha
Inicia o processo de recuperação de senha. -
PUT /recuperarsenha/:token
Altera a senha utilizando o token de recuperação.
Revisões
-
GET /revisoes
Lista todas as revisões cadastradas. -
GET /revisoes/:id
Lista uma revisão específica com base noidfornecido. -
POST /revisoes
Cria uma nova revisão. -
PUT /revisoes/:id
Atualiza completamente uma revisão com base noidfornecido. -
DELETE /revisoes/:id
Deleta uma revisão com base noidfornecido.
Rotas
-
GET /rotas
Lista todas as rotas cadastradas. -
GET /rotas/:id
Lista uma rota específica com base noidfornecido. -
POST /rotas
Cria uma nova rota. -
PUT /rotas/:id
Atualiza completamente uma rota com base noidfornecido. -
DELETE /rotas/:id
Deleta uma rota com base noidfornecido.
Usuários
-
GET /usuarios
Lista todos os usuários cadastrados. -
GET /usuarios/:id
Lista um usuário específico com base noidfornecido. -
POST /usuarios
Cria um novo usuário. -
PUT /usuarios/:id
Atualiza completamente um usuário com base noidfornecido. -
DELETE /usuarios/:id
Deleta um usuário com base noidfornecido.
⚙️ Configurações
-
Clone o repositório:
git clone https://gitlab.fslab.dev/AminahMakhoul1/api-gerenciamento.git -
Instale as dependências:
cd seu-repositorio npm install npm install bcrypt npm install jest -
Para produção configure as variáveis de ambiente no arquivo .env:
# Uso somente para produção MONGO_URI=mongodb+srv://aminahmakhoul:972831@aminahmakhoul.9jtambb.mongodb.net/tools -
Para ambiente de testes configure as variáveis no arquivo .env
# Usar somente para ambiente de testes(banco paralelo) MONGO_URI_TEST=mongodb+srv://aminahmakhoul:972831@aminahmakhoul.9jtambb.mongodb.net/tools_test -
Inicie o servidor:
npm run dev -
Acesse o Localhost
http://localhost:3030
🌐 Acesso ao Projeto
A documentação da API é gerada automaticamente usando Swagger e pode ser acessada no link http://localhost:3030.
O projeto pode ser acessado em produção através do seguinte link https://api-gerenciamento.app.fslab.dev/#/
🔄 Testes
Para rodar os testes, execute:
npm run test # para rodar todos os testes
npm run test src/tests/unit # para rodar os testes de unidade
npm run test src/tests/integration # para rodar os testes de integração
📝 Licença
Este projeto está licenciado sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
👩💻 Autor
Este projeto foi desenvolvido por:
|
Aminah Makhoul |