internal | ||
.env.example | ||
.gitignore | ||
go.mod | ||
go.sum | ||
main_test.go | ||
main.go | ||
Makefile | ||
README.md |
使用步骤
- 运行 go run . setup 初始化项目
- 按需到到 internal/app, internal/cmd/migrate.go 中初始化 ent 或其他组件
规范
初始化规范
- 所有需要初始化的组件,都需要单独放在 init.go 中,然后显示初始化。
- 禁止在 main.go 中初始化任何组件。
- 部分组件对初始化顺序有要求,禁止使用 init() 方法来初始化。
组件存放
- 所有组件都放在 internal/app 目录下,每个组件一个目录。
- 组件所需要的文件可以放在 internal 下,比如 gin 需要路由定义。
业务逻辑
- 所有业务逻辑都放在 internal/services 目录下,每个业务一个目录,比如 user 部分就应该单独一个目录。
- handlers/controller 每个业务一个目录。
- controller 中不应该有业务逻辑,handlers/controller 只负责接收请求,然后调用 services 中的业务逻辑。
- handlers/grpc 为 gRPC 的 handler,里面不处理业务逻辑,业务逻辑应在 services 中处理。