Code Monkey home page Code Monkey logo

compass-lisa-2.0's Introduction

compass

Versão do Projeto

Essa é versão dois do projeto Compass Lisa. Primeiramente, feito em JavaScript. Agora, refatorado para TypeScript.

Descrição do Projeto>

A Compass entrou em um novo ramo de mercado, a Compass lisa um seguimento carros para alugar de luxo e semi luxo. Para isso, foi necessário o desenvolvilmento de uma API para ajudar com as atividades da empresa

Índice

Como usar a API ❓

Pré-requisitos

Para usar esta API é preciso instalar as seguintes ferramentas:

Para editar o código eu recomendo:

Para testar as rotas você pode usar:

👨‍💻 Rodando o Back End (servidor)

# Clone este repositório
 git clone https://github.com/MathLopes1/compass-lisa-2.0.git

# Acesse a pasta do projeto 
 cd compass-lisa-2.0

# crie um arquivo .env seguindo o modelo do arquivo .env.exemplo e preencha os campos.

# Instale as dependências
 npm i

# Faça o build da aplicação para JavaScript
npm rum build
           
# Execute a aplicação em modo de Produção
npm run start

# Execute a aplicação em modo de desenvolvimento
npm run dev

# Execute os testes            
npm run test            
            
# O servidor iniciará na porta: 3000 

📝 Rotas do projeto:

Rotas de carros: localhost:3000/api/v1/car

Rotas de pessoas: localhost:3000/api/v1/people

Rota de login: localhost:3000/api/v1/authenticate

Rota de locadora: localhost:3000/api/v1/rental

🚗 ROTAS DE CARROS

REQUEST - (POST)

Para cadastrar carros.

POST - localhost:3000/api/v1/car

Exemplo de body:

{

    "modelo": "GM S10 2.8",
    "cor": "branco",
    "ano": "2021",
    "acessorios": [
    { "descricao": "Ar-condicionado" },
    { "descricao": "Dir. Hidráulica" },
    { "descricao": "Cabine Dupla" },
    { "descricao": "Tração 4x4" },
    { "descricao": "4 portas" },
    { "descricao": "Diesel" },
    { "descricao": "Air bag" },
    { "descricao": "ABS" }
    ],
    "quantidadePassageiros": 5
    
}

REQUEST - (GET)

Para listar todos os carros.

GET - localhost:3000/api/v1/car

Exemplo de query:

{

    "modelo": "GM S10 2.8",
    "cor": "branco",
    "acessorio": "4 portas",
    "ano": "2020",
    "quantidadePassageiros": 5

}

REQUEST - (PUT)

Para atualizar um carro.

PUT - localhost:3000/api/v1/car/:id

Exemplo de body:

{
 
    "modelo": "GM S10 2.8",
    "cor": "branco",
    "acessorios": [
    { "descricao": "Ar-condicionado" },
    { "descricao": "Dir. Hidráulica" }
    ]
}

REQUEST - (DELETE)

Para deletar um carro .

DELETE - localhost:3000/api/v1/car/:id

REQUEST - (GET)

Para Buscar um carro por id

GET - localhost:3000/api/v1/car/:id

Exemplo de retorno:

{
 
    "_id": "61f014ee47702afdee414f78",
    "modelo": "GM S10 2.8",
    "cor": "branco",
    "ano": "2021",
    "acessorios": [
        {
            "descricao": "Ar-condicionado"
        },
        {
            "descricao": "Dir. Hidráulica"
        },
        {
            "descricao": "Cabine Dupla"
        },
        {
            "descricao": "Tração 4x4"
        },
        {
            "descricao": "4 portas"
        },
        {
            "descricao": "Diesel"
        },
        {
            "descricao": "Air bag"
        },
        {
            "descricao": "ABS"
        }
    ],
    "quantidadePassageiros": 5

}

REQUEST - (PATCH)

Para atualizar um acessorio especifico .

PATCH - localhost:3000/api/v1/car/:id/acessorios/:idAcessorio Exemplo de body:

{
    "descricao": "4 portas"
}

🧍‍♀️🧍 ROTAS DE PESSOAS

REQUEST - (POST)

Para cadastrar uma pessoa.

POST - localhost:3000/api/v1/people

Exemplo de body:

{

"nome": "joaozinho ciclano",
"cpf": "131.147.860-49",
"data_nascimento": "03/03/2021",
"email": "[email protected]",
"senha": "123456",
"habilitado": "sim"

}

REQUEST - (GET)

Para listar todas as pessoas.

GET - localhost:3000/api/v1/people

  • Todos os campos podem ser usados em buscas por query.

REQUEST - (PUT)

Para atualizar um registro de pessoa.

PUT - localhost:3000/api/v1/people/:id

Exemplo de body:

{

"nome": "matheus lopes",
"habilitado": "não"

}

REQUEST - (DELETE)

Para deletar um registro de pessoa.

DELETE - localhost:3000/api/v1/people/:id

REQUEST - (GET)

Para buscar uma pessoa por id.

GET - localhost:3000/api/v1/people/:id

Exemplo de retorno:

{

    "_id": "61f2b8c5bee11d93722be472",
    "nome": "joaozinho ciclano",
    "cpf": "131.147.860-49",
    "data_nascimento": "03/03/2000",
    "email": "[email protected]",
    "senha": "123456",
    "habilitado": "sim"
}

🏷 ROTA DE AUTENTICAÇÃO

REQUEST - (POST)

Fazer autenticação e receber um token JWT.

POST - localhost:3000/api/v1/authenticate

Exemplo de body:

{

    "email": "[email protected]",
    "senha": "123456"
    
}

👨‍💼 ROTA DE LOCADORA

REQUEST - (POST)

Para cadastrar uma locadora.

POST - localhost:3000/api/v1/rental

Exemplo de body:

{
"nome": "Localiza Rent a Car",
"cnpj": "16.670.085/0001-55",
"atividades": "Aluguel de Carros E Gestão de Frotas",
"endereco": [
{
"cep": "96200-200",
"number":"1234",
"isFilial": false
},
{
"cep": "96200-500",
"number":"5678",
"complemento": "Muro A",
"isFilial": true
}
]
}

REQUEST - (GET)

Para listar todas as locadoras.

GET - localhost:3000/api/v1/rental

  • Todos os campos podem ser usados em buscas por query.

REQUEST - (PUT)

Para atualizar um registro de locadora.

PUT - localhost:3000/api/v1/rental/:id

  • Todos os campos podem ser atualizados

REQUEST - (DELETE)

Para deletar um registro de locadora.

DELETE - localhost:3000/api/v1/rental/:id

REQUEST - (GET)

Para buscar uma locadora por id.

GET - localhost:3000/api/v1/rental/:id Exemplo de retorno:

{

   "_id": "620fc4febd69c4741992d016",
    "nome": "Locadora de carros",
    "cnpj": "16.670.985/5501-55",
    "atividades": "Aluguel de Carros E Gestão de Frotas",
    "endereco": [
        {
            "cep": "52031-210",
            "number": "17",
            "isFilial": false,
            "logradouro": "Rua Ledinha",
            "bairro": "Campo Grande",
            "localidade": "Recife",
            "uf": "PE",
            "_id": "620fc4febd69c4741992d017"
        },
        {
            "cep": "96200-200",
            "number": "5258",
            "isFilial": true,
            "logradouro": "Rua General Canabarro",
            "bairro": "Centro",
            "localidade": "Rio Grande",
            "uf": "RS",
            "_id": "620fc4febd69c4741992d018"
        }
    ],
}

🌐 Deploy

O deploy foi feito utilizando o heroku para a hospedagem da aplicação.

🛠 Tecnologias

As seguintes ferramentas foram usadas na construção do projeto:

👨‍💻 Autor

💻Matheus Lopes

Developer



📝 LICENÇA

Esse repositório está licenciado pela MIT LICENSE. Para mais informações detalhadas, leia o arquivo LICENSE contido nesse repositório.

compass-lisa-2.0's People

Contributors

mathlopes1 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.