Projeto para estudos sobre composição e herança.
Nessa aplicação CRUD que simula o sistema de uma concessionária de veículos, é possível:
- cadastrar um novo veículo
- consultar por todos os veículos ou apenas um veículo específico
- atualizar informações sobre um veículo específico
- deletar um veículo específico
post/cars
Cria novo veículo
corpo da requisição deve conter JSON com seguinte formato:
{
model: "Nome do modelo do veículo",
year: "Ano de fabricação",
color: "cord",
buyValue: "valor de venda",
seatsQty: quantidade de assentos(não pode ser menor que 2),
doorsQty: quantidade de portas(não pode ser menor que 2)
}
Em caso de sucesso retorna os dados inseridos junto do id da inserção e
HTTP status code 200
.
get/cars
Consulta por todos os veículos
retorna array de veículos
[
{
model: "Nome do modelo do veículo",
year: "Ano de fabricação",
color: "cord",
buyValue: "valor de venda",
seatsQty: quantidade de assentos,
doorsQty: quantidade de portas
},
{
model: "Nome do modelo do veículo",
year: "Ano de fabricação",
color: "cord",
buyValue: "valor de venda",
seatsQty: quantidade de assentos,
doorsQty: quantidade de portas
}
]
Em caso de sucesso retorna
HTTP status code 200
.
get/cars/:id
Consulta por veículo pelo ID
retorna informações do veículo
[
{
model: "Nome do modelo do veículo",
year: "Ano de fabricação",
color: "cord",
buyValue: "valor de venda",
seatsQty: quantidade de assentos,
doorsQty: quantidade de portas
}
]
Em caso de com sucesso retorna
HTTP status code 200
.
Em caso de não houver veículo com o Id informado retornaHTTP status code 404
.
put/cars/:id
Atualiza informações de um veículo pelo ID
o corpo da requisição deve conter um objeto JSON com a informação válida a ser atualizada
{
campo_a_ser_atualizado: "valor"
}
Se atualizado com sucesso retorna
HTTP status code 200
.
Em caso de não houver veículo com o Id informado retornaHTTP status code 404
.
Em caso de erro retornaHTTP status code 400
.
delete/cars/:id
Deleta um veículo pelo ID
Um Id válido deve ser passado por parametro na URL
Se deletado com sucesso retorna
HTTP status code 204
.
Em caso de erro retornaHTTP status code 404
.
Rode os serviços
node
emongodb
com o comandodocker-compose up -d
.
- Lembre-se de parar o serviço local
mongo
, caso você possua e estiver usando na porta padrão (27017
), ou troque a porta domongo
no arquivodocker-compose
, caso queria fazer uso da aplicação em containers - Esses serviços irão inicializar um container chamado
car_shop
e outro chamadocar_shop_db
. - A partir daqui você pode rodar o container
car_shop
via CLI ou abri-lo no VS Code.
Use o comando
docker exec -it car_shop bash
.
- Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano.
Instale as dependências com
npm install
⚠ Atenção ⚠ TODOS os comandos de scripts disponíveis no package.json
devem ser executados dentro do container, ou seja, no terminal que aparece após a execução do comando docker exec
citado acima.
- Instale as dependências com
npm install