Giter VIP home page Giter VIP logo

esmeraldo17 / car-shop Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 196 KB

Neste projeto, foi desenvolvido uma API CRUD aplicando os princípios de Programação Orientada a Objetos (POO) para gerenciar uma concessionária de veículos. Foi desenvolvido com TypeScript e utilizando o banco de dados MongoDB através do framework do Mongoose.

Dockerfile 0.76% JavaScript 3.15% TypeScript 96.09%
docker mongodb mongoose oop-principles typescript

car-shop's Introduction

Car Shop Api

Neste projeto, foi desenvolvido uma API CRUD aplicando os princípios de Programação Orientada a Objetos (POO) para gerenciar uma concessionária de veículos. Foi desenvolvido com TypeScript e utilizando o banco de dados MongoDB através do framework do Mongoose.

Tecnologias utilizadas.

Typescript, Node, Express, Moongose, MongoDB, Docker

Rodando com docker

Rode os serviços node e mongodb com o comando docker-compose up -d.

Lembre-se de parar o mongodb se estiver usando localmente na porta padrão (27017), ou adapte, caso queria fazer uso da aplicação em containers.

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

A partir daqui você pode rodar o container car_shop via CLI ou abri-lo no VS Code.

Use o comando docker exec -it car_shop bash.

Ele te dará acesso ao terminal interativo do container criado pelo compose, que está rodando em segundo plano.

Instale as dependências "Caso existam" com npm install

  • ⚠ Atenção: Caso opte por utilizar o Docker, TODOS os comandos disponíveis no package.json (npm start, npm test, npm run dev, ...) devem ser executados DENTRO do container, ou seja, no terminal que aparece após a execução do comando docker exec citado acima.
  • ⚠ Atenção: O git dentro do container não vem configurado com suas credenciais. Ou faça os commits fora do container, ou configure as suas credenciais do git dentro do container.
  • ⚠ Atenção: Não rode o comando npm audit fix! Ele atualiza várias dependências do projeto, e essa atualização gera conflitos com o avaliador.

Rotas da API

Adicionar um carro

POST /cars

Parâmetro Descrição
model tipo string obrigatório no body
year tipo number obrigatório no body
color tipo string obrigatório no body
status tipo bool nao obrigatório no body
buyValue tipo number obrigatório no body
doorsQty tipo number obrigatório no body
seatsQty tipo number obrigatório no body

Listar todos os carros

GET /cars

Listar carros por ID

GET /cars/:id onde o ID deve ser um objectID valido

Atualizar um carro

PUT /cars/:id onde o ID deve ser um objectID valido

Parâmetro Descrição
model tipo string obrigatório no body
year tipo number obrigatório no body
color tipo string obrigatório no body
status tipo bool nao obrigatório no body
buyValue tipo number obrigatório no body
doorsQty tipo number obrigatório no body
seatsQty tipo number obrigatório no body

Adicionar uma moto

POST /motorcycle

Parâmetro Descrição
model tipo string obrigatório no body
year tipo number obrigatório no body
color tipo string obrigatório no body
status tipo bool nao obrigatório no body
buyValue tipo number obrigatório no body
category tipo string obrigatório no body
engineCapacity tipo number obrigatório no body

Listar todos as moto

GET /motorcycle

Listar motos por ID

GET /motorcycle/:id onde o ID deve ser um objectID valido

Atualizar uma moto

PUT /motorcycle/:id onde o ID deve ser um objectID valido

Parâmetro Descrição
model tipo string obrigatório no body
year tipo number obrigatório no body
color tipo string obrigatório no body
status tipo bool nao obrigatório no body
buyValue tipo number obrigatório no body
category tipo string obrigatório no body
engineCapacity tipo number obrigatório no body

car-shop's People

Contributors

esmeraldo17 avatar trybe-tech-ops avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.