This is educational and reference project created to demonstrate how can we implement business applications in Go.
1.1 Purpose of this Repository
2.1 Running the application from scratch
This is a list of the main goals of this repository:
- Get experience of implementing a monolith in a modular way in Go
- Applying software engineering best practices (Clean Architecture, Design Patterns, Testable Design etc)
- Keeping design artifacts alongside with the source code: C4 Model, OpenAPI spec, ADR
make run
make build
make docker-image
make test
- golangci-lint
- go-cleanarch to check the dependency rule
- plantUML
- markdownlint to lint ADR
- Redocly to bundle and lint OpenAPI
- oapi-codegen to generate HTTP server from API spec
- Docker