Skip to content

qingx2/longo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

longo

使用 Golang 语言 Gin 框架搭建的开箱即用 RESTful 基础 CRUD 模板 (The RESTful API server of gin)

目录结构 (Directory Structure)

├── admin.sh                     # 进程的start|stop|status|restart控制文件
├── conf                         # 配置文件统一存放目录
   ├── config.yaml              # 配置文件
   ├── server.crt               # TLS配置文件
   └── server.key
├── config                       # 专门用来处理配置和配置文件的Go package
   └── config.go                 
├── db.sql                       # 在部署新环境时,可以登录MySQL客户端,执行source db.sql创建数据库和表
├── docs                         # swagger文档,执行 swag init 生成的
   ├── docs.go
   └── swagger
       ├── swagger.json
       └── swagger.yaml
├── handler                      # 类似MVC架构中的C,用来读取输入,并将处理流程转发给实际的处理函数,最后返回结果
   ├── handler.go
   ├── sd                       # 健康检查handler
      └── check.go 
   └── user                     # 核心:用户业务逻辑handler
       ├── create.go            # 新增用户
       ├── delete.go            # 删除用户
       ├── get.go               # 获取指定的用户信息
       ├── list.go              # 查询用户列表
       ├── login.go             # 用户登录
       ├── update.go            # 更新用户
       └── user.go              # 存放用户handler公用的函数、结构体等
├── main.go                      # Go程序唯一入口
├── Makefile                     # Makefile文件,一般大型软件系统都是采用make来作为编译工具
├── model                        # 数据库相关的操作统一放在这里,包括数据库初始化和对表的增删改查
   ├── init.go                  # 初始化和连接数据库
   ├── model.go                 # 存放一些公用的go struct
   └── user.go                  # 用户相关的数据库CURD操作
├── pkg                          # 引用的包
   ├── auth                     # 认证包
      └── auth.go
   ├── constvar                 # 常量统一存放位置
      └── constvar.go
   ├── errno                    # 错误码存放位置
      ├── code.go
      └── errno.go
   ├── token
      └── token.go
   └── version                  # 版本包
       ├── base.go
       ├── doc.go
       └── version.go
├── README.md                    # API目录README
├── router                       # 路由相关处理
   ├── middleware               # API服务器用的是Gin Web框架,Gin中间件存放位置
      ├── auth.go 
      ├── header.go
      ├── logging.go
      └── requestid.go
   └── router.go
├── service                      # 实际业务处理函数存放位置
   └── service.go
├── util                         # 工具类函数存放目录
   ├── util.go 
   └── util_test.go
└── vendor                         # vendor目录用来管理依赖包
    ├── github.com
    ├── golang.org
    ├── gopkg.in
    └── vendor.json

包含如下第三方包 (3rd Part Packages):

gin-gonic/gin
dgrijalva/jwt-go
go-sql-driver/mysql
StackExchange/wmi
gin-contrib/sse
go-ole/go-ole
go-playground/locales
go-playground/universal-translator
golang/protobuf
jinzhu/gorm
jinzhu/inflection
lexkong/log
mattn/go-isatty
satori/go.uuid
shirou/gopsutil
spf13/pflag
spf13/viper
teris-io/shortid
ugorji/go
willf/pad
gopkg.in/check.v1
gopkg.in/go-playground/validator.v9
gopkg.in/yaml.v2