API de registro de vendas e produtos, desenvolvida em node.js com o banco de dados MySQL, que possibilita a atualização, cadastro e exclusão de dados. Foi utilizado a arquitetura MSC (model-service-controller) e TDD (Test Driven Development) abrangendo 100% de cobertura de teste.
- Instale Store Manager com docker
docker-compose up -d
- Acesse o terminal do docker e execute comando npm
docker exec -it store_manager bash
npm install
npm run debug
Products
POST /products
Parâmetro | Tipo | Descrição |
---|---|---|
name |
string |
Obrigatório. Nome do produto |
GET /products/${id}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. ID do produto |
GET /products
Parâmetro | Tipo | Descrição |
---|---|---|
- | - | Retorna todos os produtos |
GET /products/search
Parâmetro | Tipo | Descrição |
---|---|---|
q |
string |
Termo contido no nome do produto |
PUT /products/${id}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. ID do produto |
name |
string |
Obrigatório. Novo nome do produto |
DELETE /products/${id}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. ID do produto |
Sales
POST /sales
Parâmetro | Tipo | Descrição |
---|---|---|
productId |
number |
Obrigatório. ID do produto |
quantity |
number |
Obrigatório. Quantidade vendida |
GET /sales/${id}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. ID da venda |
GET /sales
Parâmetro | Tipo | Descrição |
---|---|---|
- | - | Retorna todos as vendas |
PUT /sales/${id}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. ID da venda |
productId |
number |
Obrigatório. ID do produto |
quantity |
number |
Obrigatório. Quantidade vendida |
DELETE /sales/${id}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
number |
Obrigatório. ID da venda |
Back-end: Node, Express, Nodemon, docker, MySQL, Joi, sinon, chai, mocha, dotenv, snakeize, camelize.