Skip to content

Projeto 25 - API de registro de vendas e produtos, desenvolvida em node.js com o banco de dados MySQL.

Notifications You must be signed in to change notification settings

Jayromberg/project-store-manager

Repository files navigation

Badge Badge

Store Manager

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.



Instalação

  • 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



Documentação da API

Products

Cadastra produto

  POST /products
Parâmetro Tipo Descrição
name string Obrigatório. Nome do produto

Retorna um produto

  GET /products/${id}
Parâmetro Tipo Descrição
id number Obrigatório. ID do produto

Retorna todos os produtos do banco de dados

  GET /products
Parâmetro Tipo Descrição
- - Retorna todos os produtos

Retorna um produto pelo termo pesquisado

  GET /products/search
Parâmetro Tipo Descrição
q string Termo contido no nome do produto

Atualiza o nome de um produto

  PUT /products/${id}
Parâmetro Tipo Descrição
id number Obrigatório. ID do produto
name string Obrigatório. Novo nome do produto

Deleta um produto

  DELETE /products/${id}
Parâmetro Tipo Descrição
id number Obrigatório. ID do produto
Sales

Cadastra venda

  POST /sales
Parâmetro Tipo Descrição
productId number Obrigatório. ID do produto
quantity number Obrigatório. Quantidade vendida

Retorna uma venda

  GET /sales/${id}
Parâmetro Tipo Descrição
id number Obrigatório. ID da venda

Retorna todas as vendas

  GET /sales
Parâmetro Tipo Descrição
- - Retorna todos as vendas

Atualiza a quantidade vendida

  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

Deleta uma venda

  DELETE /sales/${id}
Parâmetro Tipo Descrição
id number Obrigatório. ID da venda



Stack utilizada

Back-end: Node, Express, Nodemon, docker, MySQL, Joi, sinon, chai, mocha, dotenv, snakeize, camelize.




Autor

About

Projeto 25 - API de registro de vendas e produtos, desenvolvida em node.js com o banco de dados MySQL.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published