Este projeto é uma API REST simples construída com Node.js e Express, para gerenciar produtos. Ele permite que os clientes realizem operações CRUD (Criar, Ler, Atualizar, Excluir) em produtos. Embora este projeto não possua um banco de dados, por se tratar de um propósito educacional, os dados são persistidos em um arquivo JSON. Isso permite que você interaja com a API de uma maneira que simule a criação, leitura, atualização e exclusão de dados. No entanto, tenha em mente que em um ambiente de produção real, seria apropriado utilizar um banco de dados para gerenciar os dados de forma mais eficiente e segura.
- Listar todos os produtos
- Recuperar lista paginada de produtos
- Recuperar um único produto por ID
- Criar um novo produto
- Atualizar um produto por ID
- Excluir um produto por ID
- Node.js (v14 ou superior)
- Clone o repositório:
git clone https://github.com/pedruino/study-node-stock-api.git
- Mude o diretório para o repositório clonado:
cd study-node-stock-api
- Instale as dependências:
npm install
- Execute o servidor:
npm start
- O servidor deve estar rodando em http://localhost:3000
- Na raiz do projeto, executar o comando:
docker-compose up --build
- A API estará disponível em
http://localhost:3000
.
Aqui estão alguns exemplos de requisições que você pode realizar contra a API:
GET /products
GET /products-paginated?page=1&limit=10
ou
GET /products/pagination/1?limit=10
GET /products/:id
POST /products
Content-Type: application/json
{
"name": "Product name",
"salePrice": 24.90,
"reference": "PROD01",
"unitOfMeasure": "KG",
"manufacturer": "Manufacturer name",
"stock": 10,
"productImage": "image-url"
}
PATCH /products/:id
Content-Type: application/json
{
"name": "Updated product"
}
DELETE /products/:id
Você pode visualizar a documentação da API executando o servidor e visitando swagger/api-docs.