RuoYi-Go  https://github.com/Kun-GitHub/RuoYi-Go

1. 关于我

个人介绍

2. 介绍

后端用Go写的RuoYi权限管理系统 (功能正在持续实现)
后端 Gitee地址

3. 前端

RuoYi-Vue3 官方前端Vue3版

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 模块

5. 数据库(后面再考虑要不要支持多几个数据库)

ORM框架 数据库 是否采用 备注
gorm PostgreSQL 主要是想用这个
Mysql 不用说的,很赞
Sqlite    

RuoYi 数据库脚本

6. 项目目录(持续在对齐项目,在补充)

RuoYi-Go/
|-- build/
| |-- build.cmd // go build 文件
|-- cmd/
| |-- main.go // 主入口文件
|-- config/ // 配置文件目录
| |-- config.yml // 示例配置文件
|-- internal/
| |-- handler/ // HTTP请求处理器
| |-- service/ // 业务逻辑层
| |-- repository/ // 数据访问层
|-- pkg/
| |-- i18n/ // 国际化
|-- middleware/ // 中间件(如JWT验证)
|-- model/ // 数据模型
|-- websocket/ // WebSocket处理逻辑
|-- go.mod // Go模块依赖管理
|-- go.sum // Go模块依赖哈希
 

7. 环境(工具)

JetBrains Fleet (目前还是免费用,类似微软的VS Code,个人刚用这个Fleet,不喜勿喷) PS:发现暂不支持安装插件

DBeaver Community (SQL客户端和数据库管理工具)

Another Redis Desktop Manager (Redis 客户端)

8. 致谢

致谢 RuoYi

致谢以上项目使用到的开源库,不分先后哈

致谢以上开发用到的工具

9. 缺陷

  1. 本项目是纯后端项目,前端是用RuoYi前端,所有为了适配RuoYi前端,有些写法会不太遵循Go语言的规范,不过不影响使用,只是为了适配RuoYi前端而已
  2. 有些工具类的引用没有使用依赖注入,或者上下文,目前用的是全局变量,暂时先这样,等后续个人经验丰富了,有更好的做法可能会改上去。
  3. 暂时没有做单元测试,后续会加上,目前测试用例比较少,所以没有写单元测试。

10. 最后

目前项目还是一个人写,边工作边写,主要是下班后写,所以可能会慢一些哈,如果不介意的话,点个 Start 持续关注,谢谢啦,有什么建议可以提issue哈。

Go版RuoYi的更多相关文章

  1. ruoyi前后端分离版:添加新页面,不需登录也可访问

    添加QRcode页面代码 <template> <div class="register"> <el-form ref="registerF ...

  2. Ruoyi表单构建

    Ruoyi表单构建通过拖动组件就能自动生成前端代码,很方便,所以本文简单通过上层函数源码来梳理一下大致流程,如有需要再自行仔细一行行分析底层代码. 组件拖动 实现组件拖动功能主要依赖第三方库:VueD ...

  3. 读书笔记:JavaScript DOM 编程艺术(第二版)

    读完还是能学到很多的基础知识,这里记录下,方便回顾与及时查阅. 内容也有自己的一些补充. JavaScript DOM 编程艺术(第二版) 1.JavaScript简史 JavaScript由Nets ...

  4. jQuery实践-网页版2048小游戏

    ▓▓▓▓▓▓ 大致介绍 看了一个实现网页版2048小游戏的视频,觉得能做出自己以前喜欢玩的小游戏很有意思便自己动手试了试,真正的验证了这句话-不要以为你以为的就是你以为的,看视频时觉得看懂了,会写了, ...

  5. 一起学微软Power BI系列-使用技巧(4)Power BI中国版企业环境搭建和帐号问题

    千呼万唤的Power BI中国版终于落地了,相信12月初的微软技术大会之后已经铺天盖地的新闻出现了,不错,Power BI中国版真的来了,但还有些遗憾,国际版的一些重量级服务如power bi emb ...

  6. 将表里的数据批量生成INSERT语句的存储过程 增强版

    将表里的数据批量生成INSERT语句的存储过程 增强版 有时候,我们需要将某个表里的数据全部或者根据查询条件导出来,迁移到另一个相同结构的库中 目前SQL Server里面是没有相关的工具根据查询条件 ...

  7. 微软发布正式版SQL Server 2016

    微软于今天在SQL 官方博客上宣布 SQL Server 数据库软件的正式发布版本(GA),历时一年多,微软为该软件发布了多个公共预览版和候选版本,而今天最终版本终于上线了.在博客中,微软数据集团的企 ...

  8. premere cs4绿色版 安装 并且 视频导出 讲解

    最近室友,开始在玩视频剪辑,用的是 premere cs4 绿色版.让他遇到的最大问题也是我之前遇到的最大问题,就是视频导出. 所以我在这里上传一套自己的一点点经验吧. 接下来,我就总结一下 我是怎么 ...

  9. 渗透测试工具BurpSuite做网站的安全测试(基础版)

    渗透测试工具BurpSuite做网站的安全测试(基础版) 版权声明:本文为博主原创文章,未经博主允许不得转载. 学习网址: https://t0data.gitbooks.io/burpsuite/c ...

  10. CorelDRAW X8 如何破解激活(附国际版安装包+激活工具) 2016-12-15

    之前有位搞平面的好友“小瘦”说CDR X8无法破解,只能用X7.呃……呃……呃……好像是的 其实CDR8难激活主要在于一个点“没有离线激活了,只可以在线激活”,逆天不是专供逆向的,当然没能力去破解,这 ...

随机推荐

  1. 云企业网CEN-TR打造企业级私有网络

    简介: 为了满足企业大规模.多样化的组网和网络管理需求,云企业网(CEN)提出了转发路由器TR(Transit Router)的概念.在每个地域内创建一个转发路由器,可以连接大量VPC.VBR,作为您 ...

  2. 面向B端算法实时业务支撑的工程实践

    简介:在营销场景下,算法同学会对广告主提供个性化的营销工具,帮助广告主更好的精细化营销,在可控成本内实现更好的ROI提升.我们在这一段时间支持了多个实时业务场景,比如出价策略的实时化预估.关键词批量服 ...

  3. N个技巧,编写更高效 Dockerfile|云效工程师指北

    简介:云原生时代下软件的构建和部署离不开容器技术.提到容器,几乎大家下意识都会联想到 Docker .而 Docker 中有两个非常重要的概念,一个是Image(镜像),一个是Container(容器 ...

  4. [FAQ] 你所看过的 APP 流氓提示语有哪些

    分享案例来自产品:网抑云. 当你要进行一些常规操作,比如评论时,进行弹窗伺候: |----------------------| |       | |   为提高您的账号安全性,请先绑定手机号   ...

  5. [Mobi] MacOS 安装设置 ADB (Android Dedug Bridge)

    adb (Android Dedug Bridge) 是 Google 提供的一个工具,用于调试 Android 应用程序和系统的各个部分. 在 MacOS 平台,调试安卓应用 首先需要安装 Andr ...

  6. Ollama开发指南

    安装必备工具 确保已安装以下软件的正确版本: CMake 3.24 或更高版本 Go 1.22 或更高版本 GCC 11.4.0 或更高版本 使用 Homebrew 安装这些工具(适用于macOS和L ...

  7. AtCoder赛后反思

    先贴上本人主页 ABC347 \(\color{blue}1624\color{red}-24\color{black}=\color{blue}1600\) 蓝名保卫战,极限 1600 C 题还是有 ...

  8. 我的 Kafka 旅程 - 概念 · 特点 · 组成 · 模式 · 应用

    系列目录 我的 Kafka 旅程 - 概念 · 特点 · 组成 · 模式 · 应用 我的 Kafka 旅程 - Linux下的安装 · 基础命令 · 集群 我的 Kafka 旅程 - Producer ...

  9. nim 5. 读写文件

    读文件 假设nim程序相同的文件夹下,有个people.txt文件,内容如下: Alice A. Bob B. Carol C. 读取这个文件的代码 import strutils let conte ...

  10. Django国际化与本地化指南

    title: Django国际化与本地化指南 date: 2024/5/12 16:51:04 updated: 2024/5/12 16:51:04 categories: 后端开发 tags: D ...