Categorygithub.com/MR5356/go-template
modulepackage
0.0.0-20240519022713-01da8f46e42b
Repository: https://github.com/mr5356/go-template.git
Documentation: pkg.go.dev

# README

Go-template

Golang 模板项目,用于快速构建一个Web项目

使用说明

克隆项目到本地

git clone https://github.com/MR5356/go-template.git

更新项目名称

sed -i "s#github.com/MR5356/go-template#NEW_NAME#g" `grep -rl "github.com/MR5356/go-template" .`

如果是mac电脑,sed命令有所不同,可使用以下命令:

sed -i "" "s#github.com/MR5356/go-template#NEW_NAME#g" `grep -rl "github.com/MR5356/go-template" .`

特性清单

Prometheus metrics

默认集成Prometheus metrics接口,对外暴露地址为/api/v1/metrics

Swagger

默认集成Swagger,对外暴露地址为/api/v1/swagger/index.html 首次运行前先执行make docs或者swag init生成docs目录

如果没有swag,可以通过以下命令安装: go install github.com/swaggo/swag/cmd/swag@latest

Database

数据库驱动

默认使用Gorm连接数据库,当前已经集成MySqlPostgresqlSQLite,可在生成config时通过WithDatabase方法进行配置,如

cfg := config.New(config.WithDatabase("postgres", "host=postgresql-hl user=elune password=elune dbname=elune port=5432 sslmode=disable TimeZone=Asia/Shanghai"))

数据库处理

已经封装了基本的数据库增删改查、表大小、分页查询等操作,可参考pkg/domain/demopkg/middleware/database

Dockerfile

包含一份最小化Dockerfile

Makefile

包含一份Makefile,可通过make help查看支持的操作

示例代码

包含一份示例代码,参考pkg/domain/demo

服务相关

支持优雅停止服务

支持自定义日志格式

参考pkg/log

支持自定义返回码

参考pkg/response

支持代理前端静态文件

支持代理前端静态文件,将编译好的前端项目防止在pkg/server/static目录下即可

# Packages

No description provided by the author
No description provided by the author
No description provided by the author