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.toml
to./config/server.toml
(Do not add server.toml to repository) - Update
server.toml
values
We follow Conventional Commit's specification for commit messages