Utilizei alguns princípios de Programação Orientada a Objetos (POO) para construir uma API com CRUD(create, read, update e delete). O objetivo deste projeto foi gerenciar uma concessionária de veículos. Usei a Arquitetura de Software MSC(Model, Service, Controller), bem como testes de unidade para a camada service.
Clone o repositório
git@github.com:graciele-sampaio/vehicle-shop.git
Entre na pasta criada:
cd vehicle-shop
Instale as dependências
npm install
Rodando os serviços do node e mongodb no Docker.
docker-compose up -d --build
Para executar o terminal do node no container:
docker exec -it car_shop bash
Para executar a aplicação com o tsnode, uilize o comando dentro do terminal do containernode:
npm run dev
Para executar o terminal do banco de dados(mongodb) no container:
docker exec -it car_shop_db bash
- Para rodar dessa forma, obrigatoriamente você deve ter instalado em seu computador a versão 16 do node.
Clone o repositório
git@github.com:graciele-sampaio/vehicle-shop.git
Entre na pasta criada:
cd vehicle-shop
Instale as dependências
npm install
POST /cars
- Formato do corpo da requisição:
{
"model": "HB20",
"year": 2015,
"color": "Black",
"status": true,
"buyValue": 47.990,
"doorsQty": 4,
"seatsQty": 5
}
POST /motorcycles
- Formato do corpo da requisição:
{
"model": "Yamaha lander 250",
"year": 2015,
"color": "red",
"status": true,
"buyValue": 23.990,
"category": "Street",
"engineCapacity": 250
}
GET /cars
GET /motorcycles
GET /cars/:id
GET /motorcycles/:id
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. O ID da moto ou carro que você quer |
PUT /cars/:id
PUT /motorcycles/:id
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. O ID da moto ou carro que você quer |
DELETE /cars/:id
DELETE /motorcycles/:id
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. O ID da moto ou carro que você quer |
Método | Rota | Parâmetro | Tipo | Descrição |
---|---|---|---|---|
POST | /cars | formato json disponível no tópico: "Documentação da API" | consultar exemplo do corpo da requisição | Cadastra um carro por meio das informações passadas no corpo da requisição |
POST | /motorcycles | formato json disponível no tópico: "Documentação da API" | consultar exemplo do corpo de requisição | Cadastra uma moto por meio das informações passadas no corpo da requisição |
GET | /cars | - - - | - - - | Retorna um array com todos os carros cadastrados |
GET | /motorcycles | - - - | - - - | Retorna um array com todas as motos cadastradas |
GET | /cars/:id | id | string | Busca carro a partir do id passado como parâmetro |
GET | /motorcycles/:id | id | string | Busca moto a partir do id passado como parâmetro |
PUT | /cars/:id | id | string | Atualiza os dados de um carro a partir do id passado como parâmetro |
PUT | /motorcycles/:id | id | string | Atualiza os dados de uma moto a partir do id passado como parâmetro |
DELETE | /cars/:id | id | string | Deleta um carro a partir do id passado como parâmetro |
DELETE | /motorcycles/:id | id | string | Deleta uma moto a partir do id passado como parâmetro |