Andreyrvs / 32-Car-shop

API com CRUD para gerenciar uma concessionária de veículos.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Car Shop

Contexto

Este projeto trata-se de aplicar os princípios de Programação Orientada a Objetos (POO) para a construção de uma API com CRUD para gerenciar uma concessionária de veículos. Isso será feito utilizando o banco de dados MongoDB.

Técnologias usadas

Back-end:

Desenvolvido usando: nodejs, ExpressJS, MongoDB, MYSQL, ES6

Habilidades

Adquiri essas habilidades ao desenvolver esse projeto:

  • Exercitar o conhecimento dos pilares da Programação Orientada a Objetos: Herança, Abstração, Encapsulamento e Polimorfismo;

  • Exercitar a utilização de Composição;

  • Exercitar a criação e utilização de Interfaces;

  • Implementar, em TypeScript: Classes, Instâncias, Atributos, Métodos e Objetos;

  • Aplicar os conhecimentos de MongoDB, Typescript e POO para criar uma API com CRUD.

Instalando Dependências

  • clone o projeto:

    git clone git@github.com:Andreyrvs/32-car-shop.git
    cd 32-car-shop

    Banco de dados

  • Para restaurar o Banco de dados use mongoimport:

    mongoimport --db=CarShop --collection=cars --jsonArray --file=cars.json

    Irá aparecer algo como:

    2023-03-14T19:51:10.567-0300 connected to: mongodb://localhost/
    2023-03-14T19:51:10.569-0300 5 document(s) imported successfully. 0 document(s) failed to import.
    

    Usando o mongosh faça um find no banco de dados e verifique se foram carregado os carros:

    use CarShop
    db.cars.find({})

    Ou

    . Usando o MongoDB Compass Click no Find (1), resultado (2) .
    Image
    . .

    Docker

    Rode os serviços node e mongodb com o comando:

    docker compose up -d

    Esses serviços irão inicializar um container chamado car_shop e outro chamado car_shop_db.

    docker exec -it car_shop bash

    Back-end

    npm install

Executando aplicação

  • Para rodar o Back-end:

    npm run dev

Executando testes

  • Para rodar os testes:

    npm run test:dev
  • Para rodar a cobertura de testes:

    npm run test:coverage

About

API com CRUD para gerenciar uma concessionária de veículos.


Languages

Language:TypeScript 95.2%Language:JavaScript 4.1%Language:Dockerfile 0.7%