Skip to content

Back-end development template based on gin development

License

Notifications You must be signed in to change notification settings

chongyanovo/go-zzz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-zzz

基于Gin开发,搭配 wire 依赖注入模式可写出更简洁和安全的代码。
Explore »

├─cmd/
│ ├─main.go------------- # 服务启动入口
│ ├─wire_gen.go--------- # Wire生成代码
│ └─wire.go------------- # Wire相关代码
├─config/
│ └─config.toml--------- # 配置文件
├─core/
│ ├─bootstrap/---------- # 启动程序所需要的初始化逻辑
│ │ ├─config.go--------- # 配置
│ │ ├─middleware.go----- # 中间件
│ │ ├─mysql.go---------- # mysql
│ │ ├─redis.go---------- # redis
│ │ ├─server.go--------- # gin服务端
│ │ ├─viper.go---------- # viper
│ │ ├─websocket.go------ # websocket
│ │ └─zap.go------------ # zap日志
│ └─app.go
├─internal/------------- # 内部包
│ ├─domain/------------- # 领域模型
│ │ └─user.go
│ ├─handler/
│ │ ├─middleware/
│ │ │ ├─ratelimit/------------ # 限流策略
│ │ │ │ ├─builder.go
│ │ │ │ └─slide_window.lua---- # 滑动窗口策略
│ │ │ └─login.go
│ │ ├─user.go
│ │ └─websocket.go
│ ├─repository/--------- # 数据访问层
│ │ ├─dao/
│ │ │ └─user.go
│ │ └─user.go
│ └─service/------------ # 业务逻辑层
│   └─user.go
├─pkg/------------------ # 外部包
│ └─ginx/
│   ├─jwt/
│   │ └─jwt.go
│   ├─middleware/
│   │ └─logger/
│   │   └─builder.go
│   └─websocket/
│     ├─client.go
│     └─manager.go
├─.gitignore
├─go.mod
├─go.sum
├─LICENSE
└─README.md

Dependencies

Getting Started

使用 go-zzz 快速构建一个新项目:

# 下载 go-zzz
git clone https://github.com/chongyanovo/go-zzz

# 进入项目目录
cd go-zzz

# 安装 go mod 依赖
go mod tidy

Todo

  • 集成 gorm
  • 日志接口并集成 gorm
  • 集成 WebSocket
  • 集成 JWT
  • 登录 Token 校验
  • 限流策略
  • 基础用户模块实现
  • 短信验证服务模块开发
  • 集成 Kafka
  • 集成 swagger

About

Back-end development template based on gin development

Resources

License

Stars

Watchers

Forks

Packages

No packages published