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.
As seguintes ferramentas foram usadas na construção do projeto:
É importante a instalação das tecnologias utilizadas descritas acima. Além disso, é preciso um editor para trabalhar com o código. Utilizamos o VSCode
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 |
- 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
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"
}
}
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 |
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