Integre o ProductManager para simplificar a gestão de estoque. Ele monitora a quantidade de produtos, alertando sobre reposições necessárias e garantindo eficiência no estoque. Fácil de implementar, oferece controle prático, sem necessidade inicial de banco de dados. Além disso, ao tentar uma venda, ele informa instantaneamente sobre a disponibilidade do produto no estoque.
git clone https://github.com/Augustocoder/ProductManager.git
npm i --save-dev
npm i --save-dev @types/express #Instala o Express para que o código possa rodar o servidor e realizar as nossas rotas.
npm i --save-dev fs #Instala o fs para o código poder ler e sobrescrever os processos no arquivo JSON.
npm i --save-dev zod #Instala a dependência ZOD para validação de entrada.
npm run build # Compila para .JS
npm run start # Roda o server
Na instalação do Windows realizei um breve código em C, que enconomiza tempo na hora de instalar e rodar o servidor.
install.exe #Faz os mesmos comandos de instalação de dependências, mas em um único clique.
Para inicializar o servidor, basta executar o arquivo "iniciarServe.exe".
iniciarServer.exe #Faz a mesma coisa do que os penúltimos comandos de cima.
Antes de utilizar, por favor, apague os dados que vêm no arquivo "/databaseJSON/produtos.json" e apenas deixe "{}", pois para fins de teste já vêm como padrão alguns produtos!
GET /estoque/${id} HTTP/1.1
Parâmetro | Tipo | Descrição |
---|---|---|
id |
int |
Obrigatório. ID do produto. |
{
"nome": "Notebook Dell Inspiron 15",
"quantidade": 10
}
POST /produtos/add HTTP/1.1
{
"nome": "Mochila Targus CitySmart EVA Pro",
"descricao": "A mochila Targus CitySmart EVA Pro é resistente à água, possui compartimento acolchoado para laptop de até 15,6 polegadas, e diversos bolsos organizadores.",
"quantidade": 10
}
Parâmetro | Tipo | Descrição |
---|---|---|
nome |
string |
Obrigatório. Nome do produto. |
descricao |
string |
Obrigatório. Descrição do produto. |
quantidade |
int |
Obrigatório. Valor do produto. |
{
"id": "1",
"nome": "Mochila Targus CitySmart EVA Pro",
"descricao": "A mochila Targus CitySmart EVA Pro é resistente à água, possui compartimento acolchoado para laptop de até 15,6 polegadas, e diversos bolsos organizadores.",
"quantidade": 10
}
GET /produtos HTTP/1.1
// Retorno de todos os produtos cadastrados!
[
{
"id": 0,
"nome": "Smartphone iPhone 13",
"descricao": "O iPhone 13 traz uma tela Super Retina XDR de 6,1 polegadas, processador A15 Bionic, câmera dupla 12 MP, resistência à água e poeira.",
"quantidade": 121
},
{
"id": 1,
"nome": "Notebook Dell Inspiron 15",
"descricao": "O notebook Dell Inspiron 15 vem com processador Intel Core i5, 8GB de RAM, tela de 15,6 polegadas Full HD, e armazenamento SSD de 256GB.",
"quantidade": 10
},
{
"id": 2,
"nome": "Smart TV Samsung QLED 55\"",
"descricao": "A Smart TV Samsung QLED de 55 polegadas oferece qualidade de imagem 4K, tecnologia de pontos quânticos, sistema operacional Tizen, e controle remoto com comando de voz.",
"quantidade": 14
},
{
"id": 3,
"nome": "Câmera Canon EOS Rebel T7i",
"descricao": "A câmera Canon EOS Rebel T7i é uma DSLR com sensor CMOS de 24,2 MP, processador DIGIC 7, gravação de vídeo Full HD, e tela de toque articulada.",
"quantidade": 35
},
]
GET /produtos/busca/?nome=${nome} HTTP/1.1
Parâmetro | Tipo | Descrição |
---|---|---|
nome |
string |
Obrigatório. Nome do produto. |
// Aqui a palavra "Smart" é um exemplo de busca, então, o retorno será os produtos que contenham a palavra "Smart" no nome.
[
{
"id": 0,
"nome": "Smartphone iPhone 13",
"descricao": "O iPhone 13 traz uma tela Super Retina XDR de 6,1 polegadas, processador A15 Bionic, câmera dupla 12 MP, resistência à água e poeira.",
"quantidade": 121
},
{
"id": 2,
"nome": "Smart TV Samsung QLED 55\"",
"descricao": "A Smart TV Samsung QLED de 55 polegadas oferece qualidade de imagem 4K, tecnologia de pontos quânticos, sistema operacional Tizen, e controle remoto com comando de voz.",
"quantidade": 14
},
{
"id": 14,
"nome": "Smartwatch Apple Watch Series 7",
"descricao": "O smartwatch Apple Watch Series 7 possui tela sempre ligada, monitoramento avançado de saúde, resistência à água, e conexão 4G.",
"quantidade": 6
},
{
"id": 16,
"nome": "Mochila Targus CitySmart EVA Pro",
"descricao": "A mochila Targus CitySmart EVA Pro é resistente à água, possui compartimento acolchoado para laptop de até 15,6 polegadas, e diversos bolsos organizadores.",
"quantidade": 10
}
]
GET /produtos/${id} HTTP/1.1
Parâmetro | Tipo | Descrição |
---|---|---|
id |
int |
Obrigatório. ID do produto. |
{
"id": "1",
"nome": "Mochila Targus CitySmart EVA Pro",
"descricao": "A mochila Targus CitySmart EVA Pro é resistente à água, possui compartimento acolchoado para laptop de até 15,6 polegadas, e diversos bolsos organizadores.",
"quantidade": 10
}
PUT /produtos/${id} HTTP/1.1
{
"nome": "Mochila Targus CitySmart EVA Pro",
"descricao": "A mochila Targus CitySmart EVA Pro é resistente à água, possui compartimento acolchoado para laptop de até 15,6 polegadas, e diversos bolsos organizadores.",
"quantidade": 20
}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
int |
Obrigatório. ID do produto. |
nome |
string |
Obrigatório. Nome do produto. |
Descrição do Produto |
string |
Obrigatório. Descrição do produto. |
Quantidade |
int |
Obrigatório. Descrição do produto. |
{
"id": "1",
"nome": "Mochila Targus CitySmart EVA Pro",
"descricao": "A mochila Targus CitySmart EVA Pro é resistente à água, possui compartimento acolchoado para laptop de até 15,6 polegadas, e diversos bolsos organizadores.",
"quantidade": 20
}
DELETE /produtos/${id} HTTP/1.1
Parâmetro | Tipo | Descrição |
---|---|---|
id |
int |
Obrigatório. ID do produto. |
Response 204 (No Content) // Status Code do Response.
POST /vender/${id} HTTP/1.1
{
"quantidade": 2
}
Parâmetro | Tipo | Descrição |
---|---|---|
id |
int |
Obrigatório. ID do produto. |
quantidade |
int |
Obrigatório. Quantidade do produto. |
//Caso a quantidade de estoque for igual a 0, irá dar um erro de "Quantidade insuficiente em estoque"
{
"id": 2,
"nome": "Smart TV Samsung QLED 55\"",
"descricao": "A Smart TV Samsung QLED de 55 polegadas oferece qualidade de imagem 4K, tecnologia de pontos quânticos, sistema operacional Tizen, e controle remoto com comando de voz.",
"quantidade": 12
}
Qualquer problemas ou algo do tipo, por favor, reportar que atualizo quanto antes!