Este projeto foi desenvolvido na @Trybe(curso de programação). O projeto consiste na construção de uma API RESTful utilizando a arquitetura MSC, tratando-se de um sistema de gerenciamento de vendas, onde é possível criar, visualizar, deletar e atualizar(CRUD) produtos e vendas.
Foi utilizado o banco de dados MySQL para a gestão dados
Back-end:
Desenvolvido usando: Node.js, Express , MySQL!
Após clonar o projeto, utilize na pasta raiz o comando:
npm install
Na raiz do projeto, crie um arquivo .env para configurar as variáveis de ambiente. Por exemplo, caso o seu usuário SQL seja nome
e senha 1234
seu arquivo ficará desta forma:
MYSQL_HOST=localhost
MYSQL_USER=nome
MYSQL_PASSWORD=1234
PORT=3000
Para rodar o projeto, utilize na pasta raiz o comando:
npm start
- Os endpoints estão no padrão REST, ou seja, utilize os verbos HTTP para realizar as requisições.
- Para cadastrar um produto, devemos acessar o endpoint
POST /products
- O endpoint deve receber a seguinte estrutura:
{
"name": "product_name",
"quantity": "product_quantity"
}
- Para listar os produtos, devemos acessar o endpoint
GET /products
- Para atualizar um produto, devemos acessar o endpoint
PUT /products/:id
passando na URL o ID do produto que desejamos atualizar. - O corpo da requisição deve receber a seguinte estrutura:
{
"name": "new_product_name",
"quantity": "new_product_quantity"
}
- Para deletar um produto, devemos acessar o endpoint
DELETE /products/:id
passando na URL o ID do produto que desejamos deletar.
- Para cadastrar uma venda, devemos acessar o endpoint
POST /sales
- O endpoint deve receber a seguinte estrutura:
[
{
"product_id": "product_id",
"quantity": "product_quantity",
}
]
- Para cadastrar uma venda, devemos acessar o endpoint
POST /sales
- O endpoint deve receber a seguinte estrutura:
[
{
"product_id": "product_id",
"quantity": "product_quantity",
}
]
- Para listar os produtos, devemos acessar o endpoint
GET /sales
- Para atualizar uma venda, devemos acessar o endpoint
PUT /sales/:id
passando na URL o ID do produto que desejamos atualizar. - O corpo da requisição deve receber a seguinte estrutura:
[
{
"product_id": "id_change",
"quantity": "new_quantity"
}
]
- Projeto em andamento para melhorias e implementações de mais funcionalidades.