This template is inspired by https://ldej.nl/post/enterprise-go-architecture/
| Purpose | Name | Version | License |
|---|---|---|---|
| Language | Go | 1.18.6 | BSD-3 |
| Framework | Gin | 1.8.1 | MIT |
| Configuration Access | Viper | 1.13.0 | MIT |
| Mock | go-sqlmock | 1.5.0 | BSD-3 |
| Logging | logrus | 1.9.0 | MIT |
| ORM | GORM | 1.23.10 | MIT |
| API Documentation | Swag | 1.8.6 | MIT |
| Message Queue | Go NSQ | 1.1.0 | MIT |
├── .githooks
├── server
├── clients
├── microservice-2
├── constants
├── consumers
├── controller
├── db
├── error
├── mocks
├── models
├── request
├── response
├── repository
├── router
├── service
├── utils
├── build-scripts
├── config
├── database // only migrations
├── Dockerfile
├── Dockerfile.debug
├── docs // swagger
├── infrastructure // docker
├── go.mod
├── go.sum
├── main.go
├── Makefile
├── README.md
├── sqlite.db
└── template.toml- Run
make init - Copy
./config/template.tomlto./config/server.toml(Do not add server.toml to repository) - Update
server.tomlvalues
We follow Conventional Commit's specification for commit messages