Skip to content
/ potato Public

基于gin、gorm的api项目脚手架 支持RestFulAPI、RPC调用、数据库迁移

Notifications You must be signed in to change notification settings

viletyy/potato

Repository files navigation

Potato

viletyy potato

Go项目脚手架

基于gin、gorm、zap、cron的脚手架

本脚手架包含以下内容:

  1. mvc结构。
  2. swagger接口文档。
  3. 配置、数据库、redis、日志、工具库、后台任务封装。
  4. 单点登陆(jwt)。
  5. 数据库版本管理

内容列表

项目结构

potato
├── config(配置目录)
├── docs(文档集合)
├── global(全局变量)
├── initialize(初始化函数)
├── internal(内部模块)
│   ├── controller(控制器层,用于存放控制器)
│   ├── dao(数据访问层,所有与数据相关等操作都会在dao层进行)
│   ├── job(后台任务)
│   ├── middleware(HTTP中间件)
│   ├── model(模型层,用于存放model对象)
│   ├── routers(路由相关逻辑处理)
│   └── service(项目核心业务逻辑)
├── migrations(数据库迁移文件)
├── pkg(项目相关等模块包)
├── scripts(各类构建、按照,分析等操作等脚本)
└── tmp(项目生成的临时文件)

安装

这个项目使用 goswagdocker下载地址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

相关仓库

  • Gin — Web Framework
  • Gorm — ORM
  • Swag - RESTful API Doc
  • Cron - A cron library

如何贡献

非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。

使用许可

MIT © Viletyy

About

基于gin、gorm的api项目脚手架 支持RestFulAPI、RPC调用、数据库迁移

Topics

Resources

Stars

Watchers

Forks