Contributions that improve the project as a clear, focused Go marketplace example are welcome.
- Install Go 1.25+ and Docker.
- Start local dependencies with
docker compose up -d postgres oracle. - Run the API with
go run ./cmd/server. - Import
Dragon_Market.postman_collection.jsonfor manual API testing.
Run:
gofmt -w cmd internal
go test ./...
go test -race ./...
go vet ./...Keep changes focused and include tests for new behavior or regressions. Use concise Conventional Commit messages such as feat: add order lookup or fix: preserve bid reservation.
- Keep business entities, rules, and repository interfaces in their domain package.
- Domain packages must not import
internal/postgresor HTTP concerns. - Infrastructure may depend on domain packages, never the reverse.
- Preserve transaction boundaries for wallet, ownership, order, and auction mutations.
- Add schema changes as new ordered migrations; do not rewrite applied migrations.
For architectural context, read the decisions in docs/adr before proposing a cross-package change.