Skip to content

Projeto de API RESTful utilizando Node.js, PostgreSQL e Docker

Notifications You must be signed in to change notification settings

paulomatheusdev/crud-node-postgres

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CRUD API em Node.js + PostgreSQL + Docker

Este repositório consiste em uma Application Programming Interface (API) que utiliza os métodos HTTP "CRUD" para gerenciamento de produtos no banco de dados PostgreSQL.

Requisitos

Esta aplicação respeita os seguintes requisitos:

  • O nome do produto é obrigatório e deve ser único no sistema. Seu sistema deve permitir apenas um cadastro com o mesmo nome de produto.

  • A descrição do produto é opcional, mas se fornecida, deve ter no máximo 500 caracteres.

  • O preço do produto deve ser um valor positivo e é obrigatório.

  • A quantidade em estoque do produto deve ser um valor inteiro positivo e é obrigatório.

  • O sistema deve permitir a atualização de qualquer um dos campos do produto, respeitando as validações acima.

  • O sistema deve permitir a visualização de um produto específico, bem como a listagem de todos os produtos cadastrados.

  • O sistema deve permitir a exclusão de um produto.

  • Este serviço deve ser RESTFul.

Payloads

POST /products

{
    "name": "Nome do Produto",
    "description": "Descrição do Produto",
    "price": 100.00,
    "stock": 10
}

PUT /products/{productId}

{
    "name": "Nome do Produto Atualizado",
    "description": "Descrição do Produto Atualizada",
    "price": 150.00,
    "stock": 15
}

GET /products/{productId}

{
    "id": 1,
    "name": "Nome do Produto",
    "description": "Descrição do Produto",
    "price": 100.00,
    "stock": 10
}

GET /products

[
    {
        "id": 1,
        "name": "Nome do Produto",
        "description": "Descrição do Produto",
        "price": 100.00,
        "stock": 10
    },
    ...
]

Instruções

Para rodar o projeto na sua máquina execute os seguintes passos:

  • Verifique se você tem instalado Docker e Node/Nodemon.
  • Verifique também se não existe nenhum processo na sua máquina utilizando a porta 5432 (padrão do PostgreSQL).
  • Baixe ou clone este repositório na sua máquina.
  • Na raíz do repositório execute:
docker-compose up -d
  • Instale as dependências do projeto:
npm install
  • Agora já podemos subir nosso servidor Node:
node index.js

ou

nodemon index.js
  • Pronto, você já pode criar os produtos (respeitando os requisitos) pelo Postman ou software de sua preferência e realizar os testes.

About

Projeto de API RESTful utilizando Node.js, PostgreSQL e Docker

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published