go-web-quickstart
- github: https://github.com/fengjx/go-web-quickstart
- gitee: https://gitee.com/fengjx/go-web-quickstart
go web 工程示例,能够作为一些我的项目工程构造参考,对一些罕用性能做了简略封装。反对构建 docker 镜像。
示例中已实现了局部性能实现,不便做一些参考
- 用户登录、注册
- 博客查看、增加、删除、批改
环境依赖
-
MySQL
- 初始化 sql 在
deployments/db
- 初始化 sql 在
- Redis
对应配置在 configs
目录,能够自行批改
make 指令
$ make help
Makefile cmd:
build: 我的项目打包
build-go: 构建 golang 包
fmt-go: 格式化 golang 代码
tidy: 去掉未应用的我的项目依赖
clean: 清理临时文件
help: Makefile 帮忙
启动我的项目
go run cmd/main.go configs/app-local.yaml
打包
make build
打包后的可执行文件生成在 .dist
目录
docker
打包
# 镜像名和版本能够本人定义
docker build . -t web-app:1.0.0
启动
# APP_ENV 启用不同环境配置
docker run -p 8080:8080 -e APP_ENV=test --name webapp web-app:1.0.0
技术选型
- gin – web 框架
- json-iterator – 高效 json 类库
- go-yaml – yaml 文件加载
- xorm – orm 框架
- go-redis redis 客户端
- lo 一个相似 lodash 的汇合工具类库
工程构造
- build: 工程构建相干
- cmd: 利用启动入口
- configs: 我的项目配置
- deployments: 利用依赖
- init: 利用启动配置
- internal: 利用业务逻辑代码
- pkg: 放到利用内部仍然能应用的代码库、工具类
- test: 测试相干
- tools: 我的项目工具,如代码生成脚本
参考
- go 我的项目分层构造