API criada para gerenciar a utilização de veículos por motoristas em uma empresa. Regras de negócio: Um automóvel só pode ser utilizado por um motorista por vez. Um motorista que já esteja utilizando um automóvel não pode utilizar outro automóvel ao mesmo tempo. A persistência de dados é feita em memória, sem um banco de dados.
- Criar um novo veículo
- Atualizar um veículo
- Excluir um veículo
- Buscar um veículo pelo ID
- Listar e filtrar veículos
- Criar um novo motorista
- Atualizar um motorista
- Excluir um motorista
- Buscar um motorista pelo ID
- Listar e filtrar motoristas
- Criar um registro de utilização
- Finalizar uma utilização
- Listar todos registros de utilização
- Node.js
- NPM
-
Clone o repositório
git clone https://github.com/Lealwbs/vehicle-management-system
-
Acessar a pasta
cd vehicle-management-system
-
Instale as dependências
npm install
-
Inicie o servidor
node server.js
-
A API está na porta 3000 URL base: http://localhost:3000
- URL: /vehicles
- Método: POST
- Body:
{
"plate": "ABC-1234",
"color": "Vermelho",
"brand": "Fiat Uno"
}
- URL: /vehicles/:id
- Método: PUT
- Body:
{
"plate": "DEF-5678",
"color": "Branco",
"brand": "FordKa"
}
- URL: /vehicles/:id
- Método: DELETE
- URL: /vehicles/:id
- Método: GET
- URL: /vehicles
- Método: GET
- Body: (Se for buscar por cor e marca)
{
"color": "Prata",
"brand": "Honda Civic"
}
- URL: /motorists
- Método: POST
- Body:
{
"name": "João"
}
- URL: /motorists/:id
- Método: PUT
- Body:
{
"name": "João Silva"
}
- URL: /motorists/:id
- Método: DELETE
- URL: /motorists/:id
- Método: GET
- URL: /motorists
- Método: GET
- URL: /usages
- Método: POST
- Body:
{
"dateStart": "21-07-2024",
"driverID": 1,
"vehicleID": 1,
"reason": "Viagem"
}
- URL: /usages/:id
- Método: PUT
- Body:
{
"dateEnd": "28-07-2024"
}
- URL: /usages
- Método: GET
Para garantir que todos os endpoints da API funcionem conforme o esperado, você pode executar uma série de testes. Utilize uma ferramenta de testes de API como Postman ou Thunder Client para realizar as operações que estão localizadas em ./test/api.test.md
|-- node_modules
|-- services
| |-- motorists.js
| |-- usages.js
| |-- vehicles.js
|-- test
| |-- api.test.js
|-- Backend-TTP.pdf
|-- server.js
|-- package.json
|-- package-lock.json
|-- README.md
O arquivo PDF contendo o teste técnico prático que foi realizado está disponível na raiz deste repositório. O PDF inclui todos os requisitos e instruções que foram seguidos para implementar a API.
- Nome do Arquivo: teste-tecnico-pratico.pdf
- Localização: Clique aqui para visualizar o PDF
Este documento fornece o contexto completo e as especificações do teste, facilitando a compreensão do trabalho realizado.