O Car Shop é uma API de gerenciamento de concessionárias que permite o gerenciamento de veículos, incluindo criação, leitura, atualização e exclusão. Foi utilizada a programação orientada a objetos para a construção dessa API.
O Car Shop é uma API projetada para gerenciar uma concessionária de veículos, com estruturas de dados distintas para carros e motos. O Docker foi usado para criar dois containers: um para o Node.js, responsável por executar o Javascript fora do navegador, e outro para o banco de dados MongoDB.
A linguagem utilizada para escrever a aplicação é o typescript, que é uma linguagem de tipagem estática. O express.js gerencia as rotas, processa as requisições HTTP e define middlewares. A organização das pastas segue o modelo MSC (Model, Service, e Controller), aplicando princípios da programação orientada a objetos.
O ODM mongoose foi utilizado para modelar e manipular o banco de dados, e os endpoints da API permitem realizar as operações CRUD (Criar, Ler, Atualizar e Excluir). Para a implementação dos testes de unidade, foram usadas as bibliotecas mocha, chai e sinon, com desenvolvimento orientado a testes (TDD), resultando em uma cobertura de aproximadamente 85% da camada Service.
- Docker
- Node.js
- Typescript
- Express.js
- MongoDB
- Mongoose
- Mocha
- Chai
- Sinon
git clone git@github.com:h3zord/car-shop.git
cd car-shop
docker compose up -d
O container vai executar o node na porta 3000 e o banco de dados na porta 27017.
➜ http://localhost:3000/
- /cars ➜ Cadastra um novo carro.
- /cars ➜ Lista todos os carros.
- /cars/:id ➜ Busca um carro pelo seu ID.
- /cars/:id ➜ Atualiza um carro buscando pelo seu ID.
- /cars/:id ➜ Deleta um carro buscando pelo seu ID.
- /motorcycles ➜ Cadastra uma nova moto.
- /motorcycles ➜ Lista todas as motos.
- /motorcycles/:id ➜ Busca uma moto pelo seu ID.
- /motorcycles/:id ➜ Atualiza uma moto buscando pelo seu ID.
- /motorcycles/:id ➜ Deleta uma moto buscando pelo seu ID.
docker exec -it car_shop sh
npm run test:coverage