https://github.com/andreyrvs/32-car-shop
API com CRUD para gerenciar uma concessionária de veículos.
https://github.com/andreyrvs/32-car-shop
chaijs exprees mochajs mongoose nodejs sinonjs typescript zod
Last synced: 8 months ago
JSON representation
API com CRUD para gerenciar uma concessionária de veículos.
- Host: GitHub
- URL: https://github.com/andreyrvs/32-car-shop
- Owner: Andreyrvs
- Created: 2023-02-19T17:56:32.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2023-03-15T00:22:44.000Z (over 3 years ago)
- Last Synced: 2025-10-10T17:03:09.086Z (8 months ago)
- Topics: chaijs, exprees, mochajs, mongoose, nodejs, sinonjs, typescript, zod
- Language: TypeScript
- Homepage:
- Size: 404 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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:
```bash
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`:
```bash
mongoimport --db=CarShop --collection=cars --jsonArray --file=cars.json
```
Irá aparecer algo como:
```bash
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:
```bash
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:
```bash
docker compose up -d
```
Esses serviços irão inicializar um container chamado `car_shop` e outro chamado `car_shop_db`.
```bash
docker exec -it car_shop bash
```
> Back-end
```bash
npm install
```
## Executando aplicação
- Para rodar o Back-end:
```bash
npm run dev
```
## Executando testes
- Para rodar os testes:
```bash
npm run test:dev
```
- Para rodar a cobertura de testes:
```bash
npm run test:coverage
```