相关例子
gin-admin
https://github.com/LyricTian/gin-admin
├── cmd│ └── gin-admin│ └── main.go├── configs│ ├── config.toml│ ├── menu.yaml│ └── model.conf├── docs├── internal│ └── app│ ├── api│ ├── config│ ├── contextx│ ├── dao│ ├── ginx│ ├── middleware│ ├── module│ ├── router│ ├── schema│ ├── service│ ├── swagger│ ├── test├── pkg│ ├── auth│ │ └── jwtauth│ ├── errors│ ├── gormx│ ├── logger│ │ ├── hook│ └── util│ ├── conv│ ├── hash│ ├── json│ ├── snowflake│ ├── structure│ ├── trace│ ├── uuid│ └── yaml└── scripts
gin-web-layout
.├── LICENSE├── Makefile├── README.md├── api // api 存放 openAPI 和 proto 文件, 用 CI 生成│ └── app│ ├── a.proto // rpc 的 proto 文件│ └── swagger.json├── cmd│ └── app // 应用名│ └── main.go // 入口函数├── configs // 全局配置文件│ └── app.yaml├── deploy // 部署 yaml 文件, 包含 k8s , docker-compose 等│ ├── build│ │ └── Dockerfile│ ├── docker-compose│ │ └── docker-compose.yaml│ └── kubernetes│ ├── app-deployment.yaml│ └── app-service.yaml├── go.mod├── internal // 内部业务逻辑, 按 app 划分│ └── app│ ├── controller // mvc 的 c│ ├── dao // 操作数据库层│ ├── dto // request 和 response 转换│ ├── ecode // 业务错误code│ ├── internal│ ├── models // model 层, 转换 数据库模型│ ├── service // service 层│ └── test│ └── testdata├── pkg│ ├── log│ └── registry└── third_party└── api├── annotations.proto├── http.proto└── httpbody.proto
gin-layout
https://github.com/100steps/gin-layout
├─controller // 控制器层,用于解析请求、传参到service层并封装返回数据├─service // service层,处理具体的业务逻辑├─dao // dao层,数据库对象及其操作都应该定义在这里│ └─migration // 数据库迁移,数据库表更变的操作都定义在这里├─data // data层,提供数据库驱动│ ├─mysql│ └─redis├─middleware // 中间件层,这个应该不需要解释了├─app.go // 定义了应用容器及其依赖├─router.go // router,定义路由,建立请求和控制器方法之间的映射├─server_xx.go // 定义了容器启动http服务的方法,一般不修改├─wire.go // 定义了wire注入的方法,一般也不修改├─wire_gen.go // 自动生成的代码,不修改└─util // 可复用的非业务逻辑代码集合(其实更推荐直接单独开一个util仓库然后push上去)
go-project-sample
https://github.com/sdgmf/go-project-sample
.├── Makefile├── README.md├── api│ └── proto│ ├── products.pb.go│ └── products.proto├── cmd│ └── sample│ ├── main.go│ ├── wire.go│ └── wire_gen.go├── configs│ └── sample.yml├── dist│ ├── sample-darwin-amd64│ ├── sample-linux-amd64│ └── test│ └── cover.out├── docker│ └── sample│ ├── Dockerfile│ └── docker-compose.yml├── go.mod├── go.sum├── internal│ ├── app│ │ ├── sample│ │ │ ├── app.go│ │ │ ├── controllers│ │ │ │ ├── controllers.go│ │ │ │ ├── products.go│ │ │ │ ├── products_test.go│ │ │ │ ├── wire.go│ │ │ │ └── wire_gen.go│ │ │ └── grpcservers│ │ │ ├── products.go│ │ │ ├── products_test.go│ │ │ ├── servers.go│ │ │ ├── wire.go│ │ │ └── wire_gen.go│ │ └── tool│ │ └── clients│ │ ├── clients.go│ │ ├── products.go│ │ ├── products_test.go.bak│ │ └── wire.go│ └── pkg│ ├── config│ │ ├── config.go│ │ └── wire.go│ ├── database│ │ └── database.go│ ├── log│ │ └── log.go│ ├── models│ │ └── product.go│ ├── repositorys│ │ ├── cover.out│ │ ├── mock_ProductsStorage.go│ │ ├── products.go│ │ ├── products_test.go│ │ ├── repositorys.go│ │ ├── wire.go│ │ └── wire_gen.go│ ├── services│ │ ├── mock_ProductsService.go│ │ ├── products.go│ │ ├── products_test.go│ │ ├── services.go│ │ ├── wire.go│ │ └── wire_gen.go│ └── transport│ ├── grpc│ │ └── grpc.go│ └── http│ └── http.go└── scripts├── sample.sql└── wait-for-it.sh
