viletyy 2164fef773 | ||
---|---|---|
config | ||
docs | ||
global | ||
initialize | ||
internal | ||
migrations | ||
pkg | ||
proto | ||
scripts | ||
server | ||
.gitignore | ||
README.md | ||
config.yaml.example | ||
go.mod | ||
main.go |
README.md
Potato
Go项目脚手架
基于gin、gorm、zap、cron的脚手架
本脚手架包含以下内容:
- mvc结构。
- swagger接口文档。
- 配置、数据库、redis、日志、工具库、后台任务封装。
- 单点登陆(jwt)。
- 数据库版本管理
内容列表
项目结构
potato
├── config(配置目录)
├── docs(文档集合)
├── global(全局变量)
├── initialize(初始化函数)
├── internal(内部模块)
│ ├── controller(控制器层,用于存放控制器)
│ ├── dao(数据访问层,所有与数据相关等操作都会在dao层进行)
│ ├── job(后台任务)
│ ├── middleware(HTTP中间件)
│ ├── model(模型层,用于存放model对象)
│ ├── routers(路由相关逻辑处理)
│ └── service(项目核心业务逻辑)
├── migrations(数据库迁移文件)
├── pkg(项目相关等模块包)
├── scripts(各类构建、按照,分析等操作等脚本)
└── tmp(项目生成的临时文件)
安装
这个项目使用 go 、 swag、docker下载地址、jaeger。请确保你本地安装了它们。
go
$ tar -C /usr/local -xzf go1.4.linux-amd64.tar.gz
$ export PATH=$PATH:/usr/local/go/bin
swag安装
$ go get -u github.com/swaggo/swag/cmd/swag
$ mv $GOPATH/bin/swag /usr/local/go/bin
jaeger
docker run -d --name jaeger \
-e COLLECTOR_ZIPKIN_HTTP_PORT=9411 \
-p 5775:5775/udp \
-p 6831:6831/udp \
-p 6832:6832/udp \
-p 5778:5778 \
-p 16686:16686 \
-p 14268:14268 \
-p 9411:9411 \
jaegertracing/all-in-one:1.16
使用说明
# 启动项目
$ go build -o potato main.go
$ ./potato
# 生成api文档
$ swag init
相关仓库
如何贡献
非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。
使用许可
MIT © Viletyy