Skip to content

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gin_template gin+gorm项目模板

介绍

基于gin+gorm构建的通用项目模板

项目结构

gin_template
├─Dockerfile				
├─go.mod
├─go.sum
├─main.go					// 项目入口文件
├─README.md
├─static					// 静态资源(图片,文件等)存储文件
├─pkg						// 公用包文件夹
|  ├─snowflake
|  ├─response
|  ├─random
|  ├─logger
|  ├─jwt
|  ├─hash
├─logs						// gin日志文件存放文件夹
├─internal					// 内部代码文件
|    ├─router				// 路由
|    |   ├─router.go
|    |   ├─v1
|    |   | └user_router.go
|    ├─repo					// repo层
|    |  ├─reop.go
|    |  └user_repo.go
|    ├─model				// model层
|    |   ├─base_model.go
|    |   └user_model.go
|    ├─middleware			// 中间件
|    |     ├─auth.go
|    |     ├─cros.go
|    |     └logger2file.go
|    ├─handler				// handler层
|    |    ├─handle.go
|    |    ├─v1
|    |    | ├─user
|    |    | |  ├─get_user_info.go
|    |    | |  ├─login.go
|    |    | |  └user_handler.go
|    ├─db					// 数据库层
|    | ├─database.go
|    | ├─redis
|    | |   └redis_conn.go
|    | ├─mysql
|    | |   ├─auto_migrate.go
|    | |   ├─init_data.go
|    | |   └mysql_conn.go
|    ├─config				// 配置定义
|    |   └config.go
├─etc						// 可编辑配置文件
|  └config.yaml

快速启动

    1. 拉取仓库代码git clone https://github.com/LanceHE6/gin_template.git
    1. 修改go.mod文件中的module名称为自己的项目名称(可以使用golang的重构)
    1. 编辑etc目录下的config.yaml配置文件
    1. 下载依赖包go mod tidy
    1. 运行go run main.go

项目结构解析

/etc

可编辑的配置文件

/internal

项目内部代码

/internal/config

配置定义

/internal/db

数据库相关代码,包括数据库连接、初始化数据、自动迁移数据表等 database.go 用于管理数据连接

/internal/handler

handler层代码,业务的实现逻辑代码 handle.go 用于注册handler

/internal/middleware

中间件代码 如跨域,鉴权,日志记录等

/internal/model

数据库模型定义

/internal/repo

数据访问层代码,数据在数据库层面上的增删改查,包括数据访问接口和数据访问实现 repo.go 用于注册所有数据访问接口

/internal/router

路由定义 router.go 用于注册路由

/logs

日志文件存放路径 日志记录中间件将记录的日志以天为单位存放

/static

静态文件存放路径 如图片,文件,音频等,能通过gin访问的静态资源

/pkg

公用包存放路径 如雪花算法,jwt函数,随机数生成等工具类,公共函数

About

基于gin+gorm构建的通用项目模板

Resources

Stars

1 star

Watchers

1 watching

Forks

Contributors

Languages