go web skeleton
1.0.0
完整的Golang Web应用程序骨架。
中文说明
包含:
gookit/slog配置go mod安装管理依赖项github项目https://github.com/inhere/go-web-skeleton
api/ API interface application handlers
|- controller/
|- middleware/
|_ routes.go
app/ Common directory (public methods, application initialization, public components, etc.)
cmd/ CLI command line application commands
|_ cliapp/ command line application entry file (main)
config/ Application configuration directory (basic configuration plus various environment configurations)
model/ Data and logic code directory
|- form/ Request form structure data definition, form validation configuration
|- logic/ Logic processing
|- mongo/ MongoDB data collection model definition
|- mysql/ MySQL data form model definition
|_ rds/ Redis data model definition
resource/ Non-code resources used by some projects (language files, view template files, etc.)
runtime/ Temporary file directory (file cache, log files, etc.)
static/ Static resource directory (js, css, etc.)
main.go Web application entry file
Dockerfile Dockerfile
Makefile Has written some common shortcut commands to help package, build docker, generate documentation, run tests, etc.
...
通过
tree -d 2 ./渲染
使用✅标记当前使用的GO软件包
提供HTTP服务和路由
其他:
命令行应用程序
配置管理
mysql:
Mongodb:
redis:
请求数据验证
高性能序列化库
JSON:
配置注册中心:
Dockerfile :基于Alpine的Docker Image构建脚本构建生产环境的脚本,构建一个项目图像,其估计尺寸约为30 mmakefile :已经构建了一些快速的命令,以帮助快速生成文档并构建图像。 go-web-skeleton目录重命名为您的项目名称。github.com/inhere/go-web-skeleton (用于go file)go-web-skeleton (主要是Dockerfile,makefile)go mod tidy以安装依赖库go run main.gogo run ./cmd/appinit安装:
go get -u github.com/swaggo/swag/cmd/swag请检查
swaggo/swag的文档和示例
生成指定目录:
swag init -o static
# This file will be generated at the same time. It can be deleted if it is not needed.
rm static/docs.go注意:
swaggo/swag是解析字段描述该字段评论中的信息
type SomeModel struct {
// the name description
Name string `json:"name" example:"tom"`
} Go test
// output coverage
Go test -covergofmt -s -l ./
go fmt ./...注意:您需要先安装
GoLint。
golint ./...麻省理工学院