Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/guhpissai/store-manager
Este repositório apresenta a API Store Manager, desenvolvida com Node.js e Express.js, que permite operações eficientes de gerenciamento de vendas, incluindo criação, visualização e atualização de produtos e vendas no padrão RESTful, utilizando MySQL como banco de dados.
https://github.com/guhpissai/store-manager
chai express-js mysql nodejs
Last synced: about 2 months ago
JSON representation
Este repositório apresenta a API Store Manager, desenvolvida com Node.js e Express.js, que permite operações eficientes de gerenciamento de vendas, incluindo criação, visualização e atualização de produtos e vendas no padrão RESTful, utilizando MySQL como banco de dados.
- Host: GitHub
- URL: https://github.com/guhpissai/store-manager
- Owner: guhpissai
- Created: 2023-10-12T00:54:59.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-10-12T01:31:31.000Z (over 1 year ago)
- Last Synced: 2024-12-06T08:05:49.493Z (about 2 months ago)
- Topics: chai, express-js, mysql, nodejs
- Language: JavaScript
- Homepage:
- Size: 188 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Store Manager
## Descrição
Este repositório contém a API Store Manager, uma aplicação construída utilizando Node.js e o framework Express.js. A API segue a arquitetura em camadas para gerenciamento de vendas, permitindo a criação, visualização, exclusão e atualização de produtos e vendas. Utiliza um banco de dados MySQL para a gestão eficiente dos dados, seguindo o padrão RESTful.## Rotas
A seguir estão listadas as rotas disponíveis na API:## GET `/products`
Retorna uma lista de todos os produtos com status 200.## GET `/products/:id`
Se um produto com o ID presente na URL existir, retorna o produto correspondente.## GET `/sales e GET /sales/:id`
Retorna informações sobre todas as vendas ou uma venda específica pelo seu ID.## POST `/products`
Cadastra um novo produto. O corpo da requisição deve seguir o formato abaixo:
```json
{
"name": "ProdutoX"
}
```
## POST `/sales`
Cadastra novas vendas. O corpo da requisição deve seguir o formato abaixo:
```json
[
{
"productId": 1,
"quantity": 1
},
{
"productId": 2,
"quantity": 5
}
]
```## PUT `/products/:id`
Atualiza um produto com base no ID presente na URL. O corpo da requisição deve seguir o formato abaixo:
```json
{
"name": "Martelo do Batman"
}
```
## DELETE `/products/:id`
Deleta o produto com o ID presente na URL.## DELETE `/sales/:id`
Deleta a venda com o ID presente na URL.## PUT `/sales/:saleId/products/:productId/quantity`
Atualiza a quantidade de um produto em uma venda específica. O corpo da requisição deve seguir o formato abaixo:
```json
{
"quantity": 20
}
```GET /products/search
Realiza uma busca de produtos com base nos parâmetros de consulta. Exemplo de uso:
```bash
http://localhost:PORT/products/search?q=Martelo
```## Como Iniciar a Aplicação
Para iniciar a aplicação, execute o seguinte comando no terminal:
```bash
docker-compose up -d
```
A aplicação estará rodando na porta 3001.## Ferramentas e Plugins
A Store Manager API é testada e utilizada de forma eficiente com a ajuda das seguintes ferramentas e plugins:
- **Testes da API:** A aplicação possui testes implementados utilizando Chai e Sinon, proporcionando uma validação robusta das funcionalidades da API.
- **Banco de Dados:** A Store Manager API utiliza um banco de dados MySQL que está configurado para rodar na porta `3306`.
- **Cliente HTTP:** Recomenda-se o uso de clientes HTTP como [ThunderClient](https://www.thunderclient.io/), [Postman](https://www.postman.com/) ou o comando `curl` para testar e interagir com as diferentes rotas da API.
- **Docker:** A aplicação pode ser facilmente containerizada e gerenciada usando o Docker, permitindo a criação e execução de contêineres de forma eficiente.Utilize essas ferramentas para explorar, testar e otimizar a Store Manager API de acordo com suas necessidades e requisitos.