Skip to content

LuizStSantos/go-api-estoque

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Go API de Estoque

API simples em Go para gerenciar produtos usando PostgreSQL e Docker/Podman.

Tecnologias usadas

  • Go 1.22+
  • PostgreSQL 12
  • Podman ou Docker
  • github.com/lib/pq

Estrutura do projeto

go-api-estoque/
│── cmd/
│   └── main.go
│── controller/
│   └── product_controller.go
│── db/
│   └── connection.go
│── init-db/
│   └── init.sql
│── model/
│   └── product.go
|   └── response.go
│── repository/
│   └── product_repository.go
│── usecase/
│   └── products_usecase.go
│── docker-compose.yml
│── Dockerfile
│── go.mod
│── go.sum
│── README.md

Banco de Dados

Criação da tabela:

CREATE TABLE product (
    id SERIAL PRIMARY KEY,
    product_name VARCHAR(50) NOT NULL,
    price NUMERIC(10,2) NOT NULL
);

Rodar com Podman

Subir PostgreSQL:

podman run -d \
  --name go_db \
  -e POSTGRES_PASSWORD=1234 \
  -p 5432:5432 \
  postgres:12

Buildar a API:

podman build -t go-api-estoque .

Rodar a API:

podman run -d \
  --name go-app \
  --link go_db \
  -p 8000:8000 \
  go-api-estoque

Endpoints

Criar produto

POST /products Body:

{
  "product_name": "Teclado",
  "price": 199.90
}

Listar produtos

GET /products

Listar produto por Id

GET /product/Id

Deletar produto por Id

DELETE /product/Id

Ajustar conexão

Arquivo db/connection.go:

host = "go_db"
port = 5432
user = "postgres"
password = "1234"
dbname = "postgres"

Autor

Luiz — Projeto simples para estudo de Go + PostgreSQL + Containers.

About

API simples em Go para gerenciar produtos usando PostgreSQL e Docker/Podman.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors