Contents
cp .env.example .env
go run ./cmd/migrate up
go run ./cmd/seed
go run ./cmd/server
Address Description
http://localhost:8080/ Web / panel
http://localhost:8080/api/v1 REST API
http://localhost:8080/docs Swagger UI
http://localhost:8080/openapi.yaml OpenAPI 3.1

Seed admin (development): [email protected] / ZATRANO

Project structure

cmd/                  server, migrate, seed
internal/
  domain/             entity, VO, repository ports
  application/        use-case / CQRS
  adapters/
    http/             JSON API (Fiber)
    goui/             panel pages
    persistence/      sqlc + postgres repo
  infrastructure/     config, security, email, SMS, payment, outbox…
  bootstrap/          composition root (Build + wire_*.go)
pkg/                  rbac, recipients, tabular, i18n, validation…
migrations/           000001_schema + 000002_seed
db/queries/           sqlc source SQL
api/openapi.yaml      API contract

Dependency direction: domain ← application ← adapters; infrastructure on the outside; everything wired in bootstrap.

First read: docs/READING.md — folder map, naming glossary, golden path (user list + login).

Development

go test ./...
go test -race ./...
golangci-lint run
sqlc generate

CI (.github/workflows/ci.yml): lint, race test, govulncheck, gosec, build.

First read: Reading guide — folder map, naming glossary, golden path.