完全免费给个人及企业使用的多租户Saas快速开发平台源码
一、项目简介多租户Saas快速开发平台基于Ruoyi-Cloud版本改造的的多租户SaaS开发框架。
四、功能概述
本项目基于 RuoYi-Cloud 进行二次开发的租户版本,目标在于精简脚手架,致力于中小企业的快速开发项目搭建,让大家不必再耗费精力于各种开源框架里集成的复杂功能如何抉择保留。
最新技术栈
使用最流行的技术SpringBoot、SpringCloud、MyBatis Plus、Spring Security、JWT、Swagger 。
前后端分离
前后端完全分离,前端基于 Vue + ElementUI 界面,后端基于 Spring MVC 提供 RESTful API 接口。
微服务治理
提供微服务负载均衡,监控,容器化,CI/CD 自动化,链路追踪,灰度发布等功能。
代码生成器
在线配置表信息生成对应的代码,一键生成模块,包含增删改查/排序/导出/权限控制等操作,编译即可使用。
功能完善
内置完整的权限架构,包括:租户、菜单、角色、用户、字典、参数、监控、代码生成等一系列系统常规模块。
完全响应式布局
提供多终端适配:电脑、平板、手机等所有主流设备,提供多种不同风格的皮肤。页面美观,高端大气上档次。
主要添加模块
-
1.添加了租户功能,包含自定义租户套餐,租户到期禁用登陆等功能
-
2.替代mybatis为mybatis-plus模块
-
3.添加了邮件通知功能
-
4.添加了自定义监控模块,暂时代替monitor模块
-
5.去除定时任务模块,选择了xxl-job,目前没有加入代码库
-
6.优化代码生成模块-代码生成默认集成mybatis-plus的CRUD模块
-
7.添加通知模块,和OSS存储模块,已经集成阿里云短信,后续会集成七牛云和腾讯等第三方
-
8.集成xxl-job到系统,重构定时任务管理界面,账号权限通用
-
9.优化文件服务
后续开发任务
-
1.继续同步RuoYi-Cloud相关版本性更新
-
2.优化租户增删改查时候的数据处理逻辑,以及租户到期提前一星期通知功能(完成)
-
3.完善租户模式下的数据权限问题(完成)
-
4.集成阿里云,腾讯云等短信服务,并接入第三方登陆系统,增加短信登陆功能(已完成)
-
5.集成七牛云等云存储
-
6.租户添加自定义Logo和系统名称,后续考虑集成二级域名登陆租户系统
-
7.监控功能添加数据库监控和表监控
-
8.集成K8S环境
-
9.集成链路追踪
-
10.集成普罗米修斯
内置功能
-
租户管理:配置系统租户,支持 SaaS 场景下的多租户功能。
-
配置租户套餐:自定每个租户的菜单、操作、按钮的权限。
-
用户管理:用户是系统操作者,该功能主要完成系统用户配置。
-
部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
-
岗位管理:配置系统用户所属担任职务。
-
菜单管理:配置系统菜单,操作权限,按钮权限标识等。
-
角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
-
字典管理:对系统中经常使用的一些较为固定的数据进行维护。
-
参数管理:对系统动态配置常用参数。
-
通知公告:系统通知公告信息发布维护。
-
操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
-
登录日志:系统登录日志记录查询包含登录异常。
-
在线用户:当前系统中活跃用户状态监控。
-
代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
-
系统接口:根据业务代码自动生成相关的api接口文档。
-
服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
-
在线构建器:拖动表单元素生成相应的HTML代码。
二、技术选型
系统需求
JDK >= 1.8 (推荐1.8版本)Mysql >= 5.7.0 (推荐5.7版本)Redis >= 3.0Maven >= 3.0Node >= 10nacos >= 1.1.0 (Vctgo-Platform >= 3.0.0需要下载nacos >= 2.x.x版本)sentinel >= 1.6.0
技术选型
1、系统环境
-
Java EE 8
-
Servlet 3.0
-
Apache Maven 3
2、主框架
-
Spring Boot 2.3.x
-
Spring Cloud
-
Spring Framework 5.2.x
-
Spring Security 5.2.x
3、持久层
4、视图层
-
Vue 2.6.x
-
Axios 0.21.0
-
Element 2.14.x
系统模块
com.vctgo
├── vctgo-ui // 前端框架 [80]
├── vctgo-gateway // 网关模块 [38080]
├── vctgo-auth // 认证中心 [39200]
├── vctgo-api // 接口模块
│ └── vctgo-api-system // 系统接口
├── vctgo-demo // 样例代码模块 [39203]
├── vctgo-common // 通用模块
│ └── vctgo-common-core // 核心模块
│ └── vctgo-common-datascope // 权限范围
│ └── vctgo-common-datasource // 多数据源
│ └── vctgo-common-log // 日志记录
│ └── vctgo-common-redis // 缓存服务
│ └── vctgo-common-security // 安全模块
│ └── vctgo-common-swagger // 系统接口
│ └── vctgo-common-message // 消息通知
│ └── vctgo-common-mybatisplus // mybatis租户增强组件
│ └── vctgo-common-seata // seata组件(未启用)
├── vctgo-modules // 业务模块
│ └── vctgo-system // 系统模块 [39201]
│ └── vctgo-gen // 代码生成 [39202]
│ └── vctgo-file // 文件服务 [39300]
│ └── vctgo-job // 定时任务服务 [39024]
├── vctgo-visual // 图形化管理模块
│ └── vctgo-visual-monitor // 监控中心 [39100]
├──pom.xml // 公共依赖
|