一、项目简介


本项目是一个基于 Gin 框架 的企业级 Go Web 应用示例,集成了 MySQL(GORM) 、 Redis 、 JWT 认证 、 Excel/PDF 生成 等功能。采用经典的分层架构设计,代码结构清晰,适合作为 Go Web 开发的学习模板或项目脚手架。

项目地址 : https://github.com/ertantorizkyf/gin-gorm-sample

 二、技术栈


三、项目架构


3.1 目录结构

3.2 分层架构图

四、核心功能


4.1 文章管理(CRUD)

4.2 用户认证

4.3 Redis 缓存

4.4 文件生成

五、核心代码解析

5.1 主入口

5.2 数据库连接

5.3 依赖注入模式

5.4 JWT 认证中间件

六、环境配置

6.1 环境变量

6.2 Docker 部署

Dockerfile :

docker-compose.yml :

七、快速开始

7.1 本地运行

7.2 Docker 运行

7.3 测试接口

八、项目亮点
8.1 分层架构


采用经典的分层架构设计,实现了关注点分离:

- Handler :处理 HTTP 请求
- Usecase :处理业务逻辑
- Repository :处理数据访问
- Model :定义数据结构


8.2 依赖注入


通过构造函数注入依赖,实现控制反转,便于单元测试和代码解耦。

8.3 接口设计


使用接口定义契约,便于 Mock 测试和切换实现。

8.4 JWT 认证


实现了完整的用户注册、登录、JWT 认证流程。

8.5 Docker 支持


提供完整的 Docker 部署方案,支持一键部署。

九、总结


本项目是一个完整的 Go Web 应用示例,涵盖了 Web 开发的核心功能:

- RESTful API 设计
- 数据库操作(GORM)
- 缓存
- 身份认证(JWT)
- 文件生成
- 容器化部署
项目采用分层架构和依赖注入设计,代码结构清晰,适合作为 Go Web 开发的学习模板或项目脚手架。

参考资料 :

- Gin 框架文档
- GORM 文档
- JWT 认证

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐