Este é um projeto JavaScript e NodeJS com Express que permite controlar a utilização dos automóveis de uma empresa.
- Clone o repositório.
- Execute
npm install
para instalar as dependências. - OPCIONAL - Copie
.env_example
para.env
e preencha sua variável de ambiente. - Execute
npm run dev
para iniciar o servidor.
- Execute
npm run test
para executar os testes de uma só vez. - Execute
npm run test:co
para executar os testes em modo coverage. - Execute
npm run test:watch
para executar os testes em modo watch.
Coverage dos testes performados - 100%
-
GET /driver
: Listar motoristasGET /driver?nome=${nome}
: Listar motoristas filtrados pelo nomeGET /driver/${id}
: Obter motorista pelo idPOST /driver
: Criar novo motorista. Este endpoint precisa receber um JSON com o campo "nome"PUT /driver/${id}
: Atualizar motorista pelo id. Este endpoint precisa receber um JSON com o campo "nome" contendo o novo nome que o motorista com o id indicado receberá no caso de atualização, caso seja para restaurar, o campo "nome" se torna opcionalDELETE /driver/${id}
: Deletar motorista pelo id
O ENDPOINT PUT /driver/${id}
TAMBÉM É RESPONSÁVEL POR RESTAURAR UM MOTORISTA DELETADO. DE ACORDO COM O PROJETO NA LINHA: Recuperar um motorista cadastrado pelo seu identificador único
O ENTENDIMENTO A PARTIR DISSO FOI QUE AO DELETAR UM ITEM ELE NÃO SERIA DELETADO DE FATO, PODENDO ASSIM SER RECUPERADO POSTERIORMENTE, COMO ACONTECE NA MAIORIA DAS EMPRESAS. PORTANTO, O ENDPOINT PARA RECUPERAR O MOTORISTA DELETADO É O PUT
PASSANDO O ID
UMA VEZ DELETADO, TRAZENDO ELE DE VOLTA COMO ATIVO
-
GET /vehicle
: Listar veículosGET /vehicle?cor=${cor}&marca=${marca}
: Listar veículos filtrados por cor e marcaGET /vehicle?cor=${cor}
: Listar veículos filtrados por corGET /vehicle?marca=${marca}
: Listar veículos filtrados por marcaGET /vehicle/${id}
: Obter veículo pelo idPOST /vehicle
: Criar novo veículo. Este endpoint precisa receber um JSON com os campos "placa", "cor" e "marca"PUT /vehicle/${id}
: Atualizar veículo pelo id. Este endpoint precisa receber um JSON com os campos "placa", "cor" e "marca" contendo os novos valores que o veículo com o id indicado receberá no caso de atualização, caso seja para restaurar, os campos "placa", "cor" e "marca" se tornam opcionaisDELETE /vehicle/${id}
: Deletar veículo pelo id
O ENDPOINT PUT /vehicle/${id}
TAMBÉM É RESPONSÁVEL POR RESTAURAR UM VEÍCULO DELETADO. DE ACORDO COM O PROJETO NA LINHA: Recuperar um veículo cadastrado pelo seu identificador único
O ENTENDIMENTO A PARTIR DISSO FOI QUE AO DELETAR UM ITEM ELE NÃO SERIA DELETADO DE FATO, PODENDO ASSIM SER RECUPERADO POSTERIORMENTE, COMO ACONTECE NA MAIORIA DAS EMPRESAS. PORTANTO, O ENDPOINT PARA RECUPERAR O VEÍCULO DELETADO É O PUT
PASSANDO O ID
UMA VEZ DELETADO, TRAZENDO ELE DE VOLTA COMO ATIVO
-
GET /usage
: Listar utilizações com motorista e automóvelPOST /usage
: Criar nova utilização. Este endpoint precisa receber um JSON com os campos "dataInicio", "automovelId" (id do automóvel), "motoristaId" (id do motorista) e "motivo"PUT /usage/${id}/end
: Finalizar utilização de veículo. Este endpoint precisa receber um JSON com o campo "dataTermino"