Desenvolvimento de uma API de vendas utilizando a arquitetura MSC (model-service-controller)
A API desenvolvida é um sistema de gerenciamento de vendas no formato dropshipping em que será possível criar, visualizar, deletar e atualizar produtos e vendas. A API é RESTful e a gestão de dados é feita com o MySQL.
Ver rotas
- POST
/products
para cadastrar produtos. Utilize um body nesse formato:
{
"name": "ProductName"
}
- POST
/sales
para cadastrar vendas. Utilize um body nesse formato:
[
{
"productId": 1,
"quantity":3
},
]
- GET
/products
ou/sales
para receber todos os produtos ou vendas.
- GET
/products/:id
ou/sales/:id
para receber produtos ou vendas de acordo com o id.
- GET
/products/search?q=<busca>
para buscar produto por palavra chave.
- DELETE
/products/:id
ou/sales/:id
para deletar produtos ou vendas de acordo com o id.
- PUT
/products/:id
para atualizar o nome do produto. Utilize um body nesse formato:
{
"name": "ProductName"
}
- PUT
/sales/:id
para atualizar a venda. Utilize um body nesse formato:
[
{
"productId": 1,
"quantity":2
},
]
Pré-requisitos
Antes de começar, você vai precisar ter instalado em sua máquina as seguintes ferramentas: Git, Node.js.
É recomendado utilizar algum cliente HTTP, como Postman ou o Insomnia.
Além disto é bom ter um editor para trabalhar com o código como VSCode
Clone o repositorio
git clone git@github.com:TonyyCruz/store_manager.git
🐳 Rodando no Docker
Rode o serviço node
com o comando
docker-compose up -d
- Esse serviço irá inicializar dois containers chamados
store_manager e store_manager_db
, respectivamente.- A partir daqui você pode rodar o container via CLI ou abri-lo no VS Code.
Via CLI use o comando
docker exec -it store_manager bash
- Ele te dará acesso ao terminal interativo do container store_manager(node) criado pelo compose, que está rodando em segundo plano.
Instale as dependências dentro do container
com
npm install
💻 Rodando Localmente
Instale as dependências com o comando
npm install
- Para rodar o projeto desta forma, obrigatoriamente você deve ter o
node
instalado em seu computador.- Recomenda-se a versão
^16
- Recomenda-se a versão
Scripts
- Criar o banco de dados e gerar as tabelas:
npm run migration
- Limpar e popular o banco de dados:
npm run seed
- Iniciar o servidor Node:
npm start
- Iniciar o servidor Node com nodemon:
npm run dev
- Executar os testes de unidade:
npm run test:mocha