{"id":20614784,"url":"https://github.com/andreyrvs/32-car-shop","last_synced_at":"2025-10-10T17:04:50.222Z","repository":{"id":318712030,"uuid":"603835796","full_name":"Andreyrvs/32-Car-shop","owner":"Andreyrvs","description":"API com CRUD para gerenciar uma concessionária de veículos.","archived":false,"fork":false,"pushed_at":"2023-03-15T00:22:44.000Z","size":414,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-10T17:03:09.086Z","etag":null,"topics":["chaijs","exprees","mochajs","mongoose","nodejs","sinonjs","typescript","zod"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Andreyrvs.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2023-02-19T17:56:32.000Z","updated_at":"2025-04-21T15:45:29.000Z","dependencies_parsed_at":"2025-10-10T17:03:19.962Z","dependency_job_id":null,"html_url":"https://github.com/Andreyrvs/32-Car-shop","commit_stats":null,"previous_names":["andreyrvs/32-car-shop"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/Andreyrvs/32-Car-shop","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andreyrvs%2F32-Car-shop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andreyrvs%2F32-Car-shop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andreyrvs%2F32-Car-shop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andreyrvs%2F32-Car-shop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Andreyrvs","download_url":"https://codeload.github.com/Andreyrvs/32-Car-shop/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Andreyrvs%2F32-Car-shop/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279004814,"owners_count":26083783,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-10T02:00:06.843Z","response_time":62,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chaijs","exprees","mochajs","mongoose","nodejs","sinonjs","typescript","zod"],"created_at":"2024-11-16T11:13:35.738Z","updated_at":"2025-10-10T17:04:50.210Z","avatar_url":"https://github.com/Andreyrvs.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Car Shop\n\n## Contexto\n\nEste 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.\n\n\u003c!-- \n\u003e Utiliza a API []()\n --\u003e\n\n\u003c!-- \nColegas que contribuíram para a realização do projeto:\n\n- [@colega1](https://github.com/ \"github\")\n- [@colega2](https://github.com/ \"github\")\n --\u003e\n\n## Técnologias usadas\n\nBack-end:\n\u003e Desenvolvido usando: nodejs, ExpressJS, MongoDB, MYSQL, ES6\n\n## Habilidades\n\nAdquiri essas habilidades ao desenvolver esse projeto:\n\n- Exercitar o conhecimento dos pilares da Programação Orientada a Objetos: Herança, Abstração, Encapsulamento e Polimorfismo;\n\n- Exercitar a utilização de Composição;\n\n- Exercitar a criação e utilização de Interfaces;\n\n- Implementar, em TypeScript: Classes, Instâncias, Atributos, Métodos e Objetos;\n\n- Aplicar os conhecimentos de MongoDB, Typescript e POO para criar uma API com CRUD.\n\u003c!-- \n## Preview da Aplicação\n\n| ![Login](./aplicacao-) | ![Home](./aplicacao-) |\n| ----------- | ----------- | --\u003e\n\n## Instalando Dependências\n\n- clone o projeto:\n\n  ```bash\n  git clone git@github.com:Andreyrvs/32-car-shop.git\n  cd 32-car-shop\n  ```\n\n  \u003e Banco de dados\n\n- Para restaurar o Banco de dados use `mongoimport`:\n\n  ```bash\n  mongoimport --db=CarShop --collection=cars --jsonArray --file=cars.json\n  ```\n\n  Irá aparecer algo como:\n\n  ```bash\n  2023-03-14T19:51:10.567-0300 connected to: mongodb://localhost/\n  2023-03-14T19:51:10.569-0300 5 document(s) imported successfully. 0 document(s) failed to import.\n\n  ```\n\n  Usando o `mongosh` faça um **find** no banco de dados e verifique se foram carregado os carros:\n\n  ```bash\n  use CarShop\n  db.cars.find({})\n  ```\n\n  Ou\n  |.    |  Usando o `MongoDB Compass` Click no Find (1), resultado (2) |.      |\n  | --- | :---:                                                          | ---   |\n  |     | ![Image](./Readme-images/aplicacao-home2.webp) |               |       |\n  |.    |                                                                |.      |\n\n  \u003e Docker\n\n  Rode os serviços **node** e **mongodb** com o comando:\n\n  ```bash\n  docker compose up -d\n  ```\n\n  Esses serviços irão inicializar um container chamado `car_shop` e outro chamado `car_shop_db`.\n\n  ```bash\n  docker exec -it car_shop bash\n  ```\n\n  \u003e Back-end\n\n  ```bash\n  npm install\n  ```\n\n## Executando aplicação\n\n- Para rodar o Back-end:\n\n  ```bash\n  npm run dev\n  ```\n\n## Executando testes\n\n- Para rodar os testes:\n\n  ```bash\n  npm run test:dev\n  ```\n\n- Para rodar a cobertura de testes:\n\n  ```bash\n  npm run test:coverage\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreyrvs%2F32-car-shop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandreyrvs%2F32-car-shop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandreyrvs%2F32-car-shop/lists"}