# RuoYi-Go
**Repository Path**: gitee_kun/RuoYi-Go
## Basic Information
- **Project Name**: RuoYi-Go
- **Description**: 🎉 (RuoYi-Go) 前端基于RuoYi-Vue3,后端用Go(Go+Iris+Gorm)编写的权限管理系统,用DDD领域驱动设计(六边形架构)实现
- **Primary Language**: Go
- **License**: Not specified
- **Default Branch**: main
- **Homepage**: https://github.com/Kun-GitHub/RuoYi-Go
- **GVP Project**: No
## Statistics
- **Stars**: 19
- **Forks**: 14
- **Created**: 2024-05-09
- **Last Updated**: 2025-07-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: ruoyi, ddd, 权限管理系统
## README
# RuoYi-Go(DDD)
最近好忙,这个开源项目搁置了,非常不好意思
最近好忙,这个开源项目搁置了,非常不好意思
最近好忙,这个开源项目搁置了,非常不好意思
### 1. 关于我(在找远程工作,给机会的老板可以联系)
【个人介绍】在大学期间,我连续三年获得学院奖学金和国家励志奖学金。大二时,我创办了学校的Android俱乐部,并担任第一任社团主席。在大二暑假,我代表学校前往上海的Google公司进行交流学习,并获得了最佳团队奖。从2013年下半年起,我在大学未毕业时便开始实习,从Android开发到iOS开发,再到Spring Boot、Spring Cloud、Go和Python,我熟练掌握了多门开发语言,最终专注于后端和服务器架构。职业生涯从实习生、开发组长、部门主管,一步步发展到研发总监,这期间不仅是技术的积累,更是对产品、业务和架构的深入理解。除了技术方面的积累,在业务层面也有显著的提升。毕业后,我在中山创办了中山GDG(Google Developer Group)谷歌开发者社区,并连续两年兼任中山火炬职业技术学院的外聘老师。同时,我在GitHub社区也有多个开源项目,积极分享和贡献我的技术成果。
【一句话】 我是一名后端开发工程师,工作10年+,开发过Android,IOS,主攻Java+Go+Python,懂服务器架构(Jenkins,Docker,K8s)。
联系方式:hot_kun@hotmail.com
### 2. 后端
后端是用Go写的RuoYi权限管理系统 (功能正在持续实现)
用DDD领域驱动设计(六边形架构)做实践
后端 [GitHub地址](https://github.com/Kun-GitHub/RuoYi-Go)
后端 [Gitee地址](https://gitee.com/gitee_kun/RuoYi-Go)
### 3. 前端
本项目没有自研前端,前端代码为 [RuoYi-Vue3 官方前端Vue3版](https://github.com/Kun-GitHub/RuoYi-Vue3)
推荐用我Fork的这个版本,在开发到后期,我拉了最新的前端,发现最新版前端有很多bug
### 4. Go后端技术栈(持续在对齐项目,在补充)
功能 | 框架 | 是否采用 | 备注 |
---|---|---|---|
配置管理 | Viper | ✅ | 功能丰富,支持动态重载 |
Envconfig | 轻量级库 | ||
验证码 | base64Captcha | ✅ | 提供了生成各种类型验证码的功能 |
Web | Iris | ✅ | 高性能、灵活且易于使用的Go Web框架 |
Gin | 快速且高效的Go Web框架 | ||
goFrame | 高性能、模块化和企业级的全栈开发框架 | ||
beego | 全功能的MVC框架 | ||
ORM | gorm | ✅ | Go语言中一个非常流行的ORM框架 |
Xorm | 简洁、易用且功能强大的Go语言ORM库,不过没维护了 | ||
SQLBoiler | 通过Go的代码生成器来实现的ORM工具 | ||
内存缓存 | Bigcache | 高性能、持久化的键值存储库 适合存储永不过期或者生命周期非常长的数据 |
|
freecache | ✅ | 高性能的内存缓存库 | |
Groupcache | Google开源的一个分布式缓存和缓存填充系统 主要用于大型系统的缓存共享 |
||
日志记录 | zerolog | 高性能的结构化日志库,专为JSON输出优化,支持零分配日志记录 适合微服务和云原生应用 |
|
Zap | ✅ | 高性能、结构化的日志库,特别强调速度和效率 项目配合用了lumberjack,实现日志文件的自动切割和管理功能 |
|
Logrus | 以其易用性和灵活性著称 | ||
seelog | 支持复杂的过滤规则、多级日志处理管道和多种输出目标 | ||
依赖注入 | wire | 由Google开源的依赖注入工具,它通过代码生成的方式,在编译时期完成依赖注入 | |
dig | 提供了高性能和可读性,支持构造函数注入、函数参数注入和结构体字段注入 | ||
Redis | go-redis/redis | ✅ | |
ORM 代码生成工具 | go-gorm/gen | ✅ | Friendly & Safer GORM powered by Code Generation |
JWT | jwt | ✅ | jwt-go 衍生版 |
jwx | 实现各种 JWx(JWA/JWE/JWK/JWS/JWT,也称为 JOSE)技术的 Go 模块 | ||
参数校验 | validator | ✅ | 提供了一种优雅的方式来定义和执行各种数据验证规则 |
govalidator | 提供了多种内置的验证标签和自定义标签支持 | ||
主机资源 | gopsutil | ✅ | 用于检索系统和进程信息的库,包括CPU、内存、磁盘、网络等信息 |
syscall | ✅ | Go的标准库 | |
定时任务 | cron | ✅ | 功能强大的库,类似于Unix的cron调度程序。它支持标准的cron语法,并且可以处理秒级的精度。 |
gocron | 简单而强大的任务调度库,类似于Python的schedule库 | ||
Excel导入导出 | excelize | ✅ | 支持读取、写入和管理Excel文件。它支持从Excel 97-2003的.xls格式到现代Excel .xlsx格式的文件。除了基础的数据操作外,还支持样式设置、图表生成等功能 |
xlsx | 支持读写.xlsx格式的文件。它提供了丰富的API来操作Excel文档,如创建、修改和查询单元格数据等 |
ORM框架 | 数据库 | 是否采用 | 备注 |
---|---|---|---|
gorm | PostgreSQL | ✅ | 支持,但对于若依的前端,Bug比较多 |
Mysql | ✅ | 默认 | |
Sqlite | 如果用这个的话,需要重新用gorm生成模型文件 因为sqlite不知道如何进行字符串转换*time.Time,会报错。 |