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.