Esta é uma aplicação de aluguel de carros onde os usuários podem trabalhar com as entidades veiculo e motorista, bem como registrar e finalizar aluguéis de carros.
- Docker
- pnpm
- Clone o repositório para a sua máquina local usando
git clone, para realizar esta operação você deverá ter ogitinstalado no seu computador. Para mais informações:https://www.git-scm.com/downloads - Navegue até o diretório do projeto com o pnpm já instalado e execute o comando
pnpm installpara instalar todas as dependências do projeto. Caso já tenha o npm instaldo no seu computador basta executar o comandonpm install -g pnpm - Rode o comando
pnpm run app. Este comando ira criar um container no docker com o servidor do postgres e para que ele funcione você deverá ter o docker instalado na sua máquina. Para mais informações veja a documentação oficialhttps://docs.docker.com/get-docker/ - Crie um arquivo
.envnos moldes do arquivo.env.example - Após isso basta realizar o build da aplicação com o comando
pnpm run builde depois executar opnpm start, uma vez que você executar este comando a aplicação sozinha irá criar as tabelar e também algumas entidades no banco de dados. No mais é apenas utilizar as rotas pelo dominiohttp://localhost:8000
Esta aplicação tem testes unitários que garantem a qualidade do código. Para executar os testes basta instalar as dependências com o comando pnpm install na raiz do projeto e depois executar o comando com pnpm test
O banco de dados consiste em três tabelas: Automoveis, Motoristas e Registros.
- A tabela
Automoveiscontém informações sobre os carros disponíveis para aluguel. Cada carro tem umidúnico, umaplaca, umamarcae umacor. - A tabela
Motoristascontém informações sobre os motoristas. Cada motorista tem umidúnico e umnome. - A tabela
Registroscontém informações sobre os aluguéis de carros. Cada registro tem umidúnico, umadescricao, umadata_inicio, umadata_termino, umid_automovelque referencia um carro na tabelaAutomoveise umid_motoristaque referencia um motorista na tabelaMotoristas.
-
/automovel
- GET: encotnra todos os automóveis do banco de dados. Você poderá também procurar por query por automóveis com a mesma cor ou marca
- GET/:id: encontra um automovel pelo identificador único inserido no params da url
- POST: cria um automóvel passando para o body algum valor em string para as tês propriedades de um automovel
- PATCH/:id: Atualiza as informações do automóvel com os parámetros passados pelo body
- DELETE/:id: deleta um automóvel pelo parámetro passado na url
-
/motorista
- GET: encotnra todos os motoristas do banco de dados. Você poderá também procurar por query por motoristas com um nome específico
- GET/:id: encontra um motorista pelo identificador único inserido no params da url
- POST: cria um motorista passando para o body algum valor em string para as tês propriedades de um motorista
- PATCH/:id: Atualiza as informações do motorista com os parámetros passados pelo body
- DELETE/:id: deleta um motorista pelo parámetro passado na url
-
/registro
- GET: exibe uma lista com todos os registros no banco de dados e exibe com as informações dos automoveis e motoristas relacionados
- POST: cria um registro caso o motorista nem o automovel tenha algum outro registro de aluguel em aberto
- PATCH/:id: adiciona a data te término do registro de aluguel