deliciasDaMaria

Descrição do Projeto

Dona Maria abriu uma Lojinha para venda de doces caseiros. Para a melhor administração de sua empresinha, resolveu pedir ajuda para organizar seus funcionários e produtos. Nesse cenário, construimos uma API com duas entidades - funcionarios e produtos - para ajudar Maria em suas atividades.

🛠 Tecnologias

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

Pré-requisitos

É importante a instalação das tecnologias utilizadas descritas acima. Além disso, é preciso um editor para trabalhar com o código. Utilizamos o VSCode

Passos

Antes de testar as rotas, é importante seguir alguns passos:

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

# Acesse a pasta do projeto no terminal/cmd
$ cd compass-grupo02

# Instale as dependências
$ npm install

# Instale as dev dependências
$ npm install --save-dev

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

# Execute a aplicação em modo de produção
$ npm run start

# O servidor inciará na porta:3000 - acesse <http://localhost:3000>

📁 Bibliotecas utizadas:

Mongoose Express Joi UUID Env CORS Nodemon

Features

  • Criar um endpoint para cadastrar um funcionário
  • Criar um endpoint para listar funcionários
  • Criar um endpoint para atualizar funcionários
  • Criar um endpoint para deletar funcionário
  • Criar um endpoint para cadastrar um produto
  • Criar um endpoint para listar produtos
  • Validações

Testar as Rotas

POST - Cadastrar funcionários - http://localhost:3000/api/v1/employee

{
   "name": "maria da silva",
   "cpf": "12312312312",
   "office": "gerente",
   "birthday": "21/04/2021"
}

GET - Listar funcionários - http://localhost:3000/api/v1/employee

{
"employees": [
                {
                    "employee_id": "a99e8bf7-fa32-4ae7-8b53-5e00b9d43621",
                    "name": "maria da silva",
                    "cpf": "123.123.123-12",
                    "office": "gerente",
                    "birthday": "21/04/2021",
                    "situation": "active"
                }, {
                    "employee_id": "a99e8bf7-fa32-4ae7-8b53-5e00b9d43622",
                    "name": "joão da silva",
                    "cpf": "123.123.123-13",
                    "office": "gerente",
                    "birthday": "21/04/2021",
                    "situation": "deactivate"
                }
            ]
}

GET - Listar por query params - http://localhost:3000/api/v1/employee/?name=fulano

{
   {
       "name": "silva",
       "office": "gerente"
   }
}

PUT - Atualizar funcionários - http://localhost:3000/api/v1/employee/:employee_id

{
    "name": "maria da roberta",
    "office": "funcionario",
    "situation": "deactivate"
}

DELETE - Deletar funcionários - http://localhost:3000/api/v1/employee/:employee_id

POST - Cadastrar um produto - http://localhost:3000/api/v1/product

{
    "name": "notebook dell",
    "category": "eletronico",
    "price": "12.32",
    "employee_id": "a99e8bf7-fa32-4ae7-8b53-5e00b9d43621"
}

GET - Listar produtos - http://localhost:3000/api/v1/product

{
    "employee_id": "a99e8bf7-fa32-4ae7-8b53-5e00b9d43621",
    "category": "eletronico",
    "name": "dell",
    "min_price": 10.5,
    "max_price":50
}

GET - Listar produtos por query params - http://localhost:3000/api/v1/product/?name=dell

 {
   {
        "name": "dell",
        "min_price": "00",
        "max_price": "10"
   }
}

Team 👨‍💻🏆

Todos listados tiverem participação ativa no desenvolvimento da API

Função Nome
PO Felipe Silva
Scrum Master/Dev Tuana Sampaio
Deploy/Dev Mylena Amorim
QA/Dev Matheus Lopes
Code Review/Dev Edson Junior
Code Review/Dev Maria Carolinne

Agradecimentos

Somos extremamente gratos aos nossos instrutores e líderes por todo suporte, conhecimento, incentivos e alertas.

  • Felipe Silva
  • Thais Nicodemus
  • Diego Bueno
  • Bruna Santos
  • Giovanni Hoffmann
  • Gabriel Missio