Coder Social home page Coder Social logo

lostvip-com / ruoyi-go Goto Github PK

View Code? Open in Web Editor NEW
47.0 3.0 19.0 13.78 MB

🎉若依后台管理系统(golang版),基于 gin + gorm,支持mybatis式的sql与go代码分离,代码风格极尽简洁,传统模板引擎技术,适合后端开发人员单挑一个项目使用。

Home Page: http://www.lostvip.com

License: MIT License

Go 99.90% Dockerfile 0.03% Batchfile 0.01% Shell 0.06% Smarty 0.01%
go-admin go-admin-layui golang-mybatis golang-springcloud go-mybatis gorm

ruoyi-go's Introduction

框架简介

摒弃过度封装,代码风格极尽简洁,适合中小项目使用!
架构思路沿袭着若依的以辅助生成重复代码为主,不过度封装,生成的代码可以快速修改适应不同的需求。

  • 项目结构模仿springboot,简单改造后可注册到nacos中做为springcloud微服务的一员,对java开发人员友好。
  • 支持类mybatis查询,sql与go代码分离(基于gorm + golang的template语法实现,为了idea能识别sql关键字,后缀使用_mapper.sql)。
  • 提供相关服务配置脚本,可发布到 k8s、docker swarm中做为微服务使用。
  • 支持在yaml文件中使用表达式从环境变量中取值,便于切换生产、开发、测试环境参数(模仿springboot),如:
    host: ${REDIS_HOST:lostvip.com}
  • 1.x版本是基于xorm开发,2.0之后的版本将全面切换到gorm。

核心技术及组件

  • DAO层架: gorm,简单易用,支持namedSQL占位符查询.
  • Web服务框架: Gin 简单高效,模板可热加载.
  • 前端技术: 模板引擎,服务端渲染.
  • 缓存支持: redis .
  • 安全认证:支持通过jwt无状态 或 token有状态的安全校验.
  • 代码生成:在线生成代码,并一键导入菜单到业务模块.
  • 导出excel文件 tealeg/xlsx.
  • api文档生成 swaggo/swag.
  • 图形验证码 base64Captcha.
  • 服务器监控 gopsutil.
  • 若依前端组件 RuoYi v4.7.0 .

内置功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 通知公告:系统通知公告信息发布维护。
  9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  10. 登录日志:系统登录日志记录查询包含登录异常。
  11. 在线用户:当前系统中活跃用户状态监控。
  12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  13. 代码生成:前后端代码的生成(Go、html、json、sql) 。
  14. 系统接口:根据业务代码自动生成相关的api接口文档。
  15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  16. 在线构建器:拖动表单元素生成相应的HTML代码。
  17. 案例演示:常用的前端组件整合演示。

目录结构

本着简单易用的原则,简化工程结构,没有dao层。

main[]()     
├── docs               // 资料备份
├── main               // 系统管理
│   └── app                      // go源码存放目录
│   └── static                   // 静态文件目录
│   └── mapper                   // 类mybatis映射文件存放目录
│   └── template                 // 模板存放目录
│   └── bootstrap.yml            // 项目根配置文件,模仿springboot
│   └── application.ym           // 项目配置文件,模仿springboot
│   └── build.sh                 // 编译脚本,方便打包
│   └── build-cgo.sh             // 编译脚本,启用cgo,需要打包sqlite时有用
│   └── build-linux.bat          // 编译脚本,windows环境交叉编译用
│   └── data.db                  // 使用sqlite数据库时有用,只使用mysql可删除                             
│   └── deploy-swarm-ry.yml      // docker swarm 服务编排脚本
│   └── Dockerfile               // Docker镜像文件
├── lv_framework       // 框架通用模块
│       └── cache               // 通用缓存处理
│       └── conf                // 通用配置处理
│       └── db                  // 数据库配置处理
│       └── utils               // 通用工具类
│       └── logme               // 通用日志处理,统一风格,方便切换第三方日志库
│       └── web                 // 通用web组件
│       
├── go.work            // 项目模块配置
├── build-linux.bat    // 编译脚本

启动

1. 修改应该的数据库及缓存配置

  • sqlite:默认使用sqlite数据库,可不做任何修改
  • mysql: 导入docs中的sql文件,修改application.yml中的mysql相关信息

2. cd 进入main目录启动应用

  • 方式一 :常规启动
go run main.go

启动完成后,在控制台会打印出访问地址: http://127.0.0.1:3001

  • 方式二: 使用第三方热加载组件

前置条件: cd 到 main 目录,安装热加载框架:
go get github.com/pilu/fresh
go install github.com/pilu/fresh

启动

fresh

登录账号和密码

演示1: http://demo.lostvip.com

账号: admin / admin123

注意,本站未做任何防护,管理员有所有权限,请不要删除任何数据!

演示图

感谢(排名不分先后)

xorm https://xorm.io/zh/docs/

web框架 https://github.com/gin-gonic/gin

缓存框架 https://github.com/redis/go-redis

配置文档 https://github.com/BurntSushi/toml

RuoYi框架 https://github.com/yangzongzhuan/RuoYi

tealeg https://github.com/tealeg/xlsx

swaggo https://github.com/swaggo/swag

若依goframe版 https://github.com/guolingege/yjgo

热加载框架 http://github.com/pilu/fresh

sql文件解析: https://github.com/qustavo/dotsql

项目支持

QQ交流群

如有兴趣一起完善,进QQ群 43862272

Gitee https://gitee.com/lostvip_com/ruoyi-go

Github https://github.com/lostvip-com/ruoyi-go

Gitcode https://gitcode.com/lostvip-com1/ruoyi-go/tree/main

ruoyi-go's People

Contributors

ssuhvs avatar lostvip-com avatar

Stargazers

 avatar trik avatar codingman avatar  avatar xylophone avatar easterNday avatar liuzhaowang avatar  avatar  avatar  avatar Meow avatar  avatar  avatar ox avatar Dicky avatar kings.chan avatar stephen-net avatar 高瑞强 avatar Sany avatar  avatar  avatar Lovegood avatar oldtree avatar zjw57 avatar darkz avatar Gavin-wen avatar xuxiandi avatar happycoder avatar xiaoyezi avatar LoveSea avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar Kingram avatar Epiphany avatar reedsource avatar  avatar  avatar sengeiou avatar

Watchers

 avatar vulcangz avatar  avatar

ruoyi-go's Issues

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.