Skip to content

API para gerenciamento de uma concessionária de veículos.

Notifications You must be signed in to change notification settings

Jonathan-R-Andrade/car-shop

Repository files navigation

Car Shop

Projeto desenvolvido por Jonathan R. Andrade na Trybe.

Sobre

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.

Habilidades desenvolvidas

  • 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.

Ferramentas/Tecnologias utilizadas

  • Ubuntu v22.04
  • MongoDB v6.0
  • Docker v24
  • Docker Compose v2.18
  • Node.js v16.20
  • TypeScript
  • Express.js
  • OpenAPI Specification
  • Swagger UI

Como executar

Siga os passos abaixo executando os comandos no terminal.

  1. 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
      
  2. Entre na pasta do repositório clonado.

    cd car-shop
    
  3. Crie um arquivo .env na raiz do projeto utilizando o arquivo de exemplo .env.example.

    cp .env.example .env
    
  4. Inicie a API.

    Usando Node.js e MongoDB instalados localmente
    1. Instale as dependências.

      npm install
      
    2. 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 comando npm run test:coverage.

    Usando Docker Compose
    1. 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 comando docker exec -t car_shop npm run test:coverage.

Acesse a documentação da API em http://localhost:3001/api/v1/docs/pt-br/.