Este projeto fornece uma API para gerenciar produtos, incluindo criação, atualização, consulta e remoção de produtos.
- Node.js e npm instalados.
- Docker instalado para executar uma imagem do PostgreSQL.
-
Clone o repositório:
git clone https://github.com/joaoPAndrade/produto-api.git
-
Instale as dependências:
Navegue até o diretório do projeto e execute:
npm install
-
Execute o PostgreSQL com Docker:
Inicie uma imagem do PostgreSQL usando o comando:
npm run create:db
-
Crie as tabelas no banco de dados:
Execute a migração para criar a estrutura das tabelas:
npm run migration
-
Popule o banco de dados:
Adicione dados iniciais ao banco executando:
npm run seed
-
Configure as variáveis de ambiente:
Na raiz do projeto, crie um arquivo
.envcom as seguintes variáveis:APP_PORT= # Porta onde a API será executada (se não for especificada, a API usará a porta 3000) DB_USER= # Usuário do banco de dados DB_HOST= # Host do banco de dados (ex.: localhost) DB_DATABASE= # Nome do banco de dados DB_PASSWORD= # Senha do banco de dados DB_PORT= # Porta do banco de dados (ex.: 5432)
caso inicie um banco de dados usando o script disponibilizado utilize este
.env:APP_PORT=8000 DB_USER=root DB_HOST=localhost DB_DATABASE=produto DB_PASSWORD=123 DB_PORT=5433
-
Inicie a API em modo de desenvolvimento:
Use o comando abaixo para iniciar o servidor:
npm run start:dev
A API será executada no
localhostna porta especificada emAPP_PORTou, caso não tenha sido definida, na porta padrão3000.
-
Método:
POST -
Endpoint:
/produto -
Formato do JSON de entrada:
{ "descricao": "Produto A", "preco": "20.00", "estoque": 50, "data": "2025-12-03T08:37:51.852Z" }
- Método:
DELETE - Endpoint:
/produto/:id - Descrição: Substitua
:idpelo ID do produto a ser removido.
-
Método:
PUT -
Endpoint:
/produto/:id -
Formato do JSON de entrada:
{ "descricao": "Produto A", "preco": "20.00", "estoque": 50, "data": "2025-12-03T08:37:51.852Z" }Nota: Inclua apenas os atributos que deseja alterar.
- Método:
GET - Endpoint:
/produto/:id - Descrição: Substitua
:idpelo ID do produto para visualizar suas informações.
- Método:
GET - Endpoint:
/produtos
npm run create:db- Inicia uma imagem do PostgreSQL no Docker.npm run migration- Cria as tabelas no banco de dados.npm run seed- Popula o banco com dados iniciais.npm run start:dev- Executa a API em modo de desenvolvimento.