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.
Back-end:
Desenvolvido usando: nodejs, ExpressJS, MongoDB, MYSQL, ES6
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.
-
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). . . 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 chamadocar_shop_db
.docker exec -it car_shop bash
Back-end
npm install
-
Para rodar o Back-end:
npm run dev
-
Para rodar os testes:
npm run test:dev
-
Para rodar a cobertura de testes:
npm run test:coverage