Projeto desenvolvido por Jonathan R. Andrade na Trybe.
API para gerenciamento de uma concessionária de veículos onde é possível cadastrar, listar, atualizar e deletar veículos, sendo eles carros ou motos. A API foi desenvolvida com Node.js, TypeScript e Express.js, utilizando arquitetura MSC (Model, Service e Controller) para organização do projeto. O banco de dados utilizado foi o MongoDB, e para documentação da API foi utilizada a especificação OpenAPI 3.0 com o Swagger UI.
- Criar APIs RESTful;
- Utilizar arquitetura MSC (Model, Service e Controller) para organização do projeto;
- Fazer operações CRUD (Create, Read, Update e Delete) no banco de dados MongoDB;
- Aplicar os princípios da Programação Orientada a Objetos (POO);
- Fazer testes unitários com Mocha, Chai e Sinon.
- Ubuntu v22.04
- MongoDB v6.0
- Docker v24
- Docker Compose v2.18
- Node.js v16.20
- TypeScript
- Express.js
- OpenAPI Specification
- Swagger UI
Siga os passos abaixo executando os comandos no terminal.
-
Clone o repositório.
- Exemplo com Git + HTTPS
git clone https://github.com/Jonathan-R-Andrade/car-shop.git
- Exemplo com Git + SSH
git clone git@github.com:Jonathan-R-Andrade/car-shop.git
- Usando GitHub CLI
gh repo clone Jonathan-R-Andrade/car-shop
- Exemplo com Git + HTTPS
-
Entre na pasta do repositório clonado.
cd car-shop
-
Crie um arquivo
.env
na raiz do projeto utilizando o arquivo de exemplo.env.example
.cp .env.example .env
-
Inicie a API.
Usando Node.js e MongoDB instalados localmente
-
Instale as dependências.
npm install
-
Inicie a API.
npm run dev
Para executar os testes unitários, utilize o comando
npm run test
e para executar a cobertura de testes, utilize o comandonpm run test:coverage
.Usando Docker Compose
-
Inicie via Docker Compose.
docker compose up -d
Para executar os testes unitários, utilize o comando
docker exec -t car_shop npm run test
e para executar a cobertura de testes, utilize o comandodocker exec -t car_shop npm run test:coverage
. -
Acesse a documentação da API em http://localhost:3001/api/v1/docs/pt-br/.