# RuoYi-flowable
**Repository Path**: fqfxrs/RuoYi-flowable
## Basic Information
- **Project Name**: RuoYi-flowable
- **Description**: 基于RuoYi-vue + flowable 6.x 的工作流管理平台,提供流程管理、流程监控和任务调度等功能。具有易于集成、高度可定制和扩展性强的特点。
- **Primary Language**: Java
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: http://www.tony2y.top
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 2281
- **Created**: 2026-10-18
- **Last Updated**: 2026-10-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
RuoYi-Flowable
基于RuoYi+Flowable 8.x的工作流管理平台
## 平台介绍
RuoYi-Flowable 是基于 [RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue) 与 [Flowable 8.x](https://github.com/flowable/flowable-engine) 深度整合的工作流管理平台,开箱即用。
- **项目定位**:一套前后端分离的企业级快速开发框架 + 工作流中台,开箱即用。
- **目标用户**:需要审批流(OA、人事、财务、工单等业务)的后端/全栈开发者,以及需要快速搭建管理后台的项目团队。
- **核心价值**:在成熟的 RuoYi 权限体系之上,集成在线流程设计器与完整的工作流运行时,无需从零学习 Flowable API,即可完成流程建模、发布、审批、监听器扩展等全流程能力。
### 技术栈
| 端 | 技术 |
|------------|------------------------------------------------------------------------------------------------|
| 后端 | Spring Boot 4.1.0、Spring Security + JWT、MyBatis / MyBatis-Plus、Druid、PageHelper、springdoc |
| 工作流引擎 | Flowable 8.0.0(`ruoyi-flowable` 模块封装) |
| 前端 | Vue 2.6、Element UI 2.15、Vuex、Vue Router、bpmn-js 11(流程设计器)、ECharts、Sass |
| 存储 | MySQL 5.7.x、Redis 5.x+ |
| 构建 | JDK 17、Maven 3.6+、Node.js + Vue CLI 4 |
- 不定时同步[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue)至最新版本。
- 权限认证使用Jwt,支持多终端认证系统。
- 支持加载动态权限菜单,多方式轻松权限控制。
- 项目地址:[Gitee](https://gitee.com/tony2y/RuoYi-flowable.git) [Github](https://github.com/tony2y/RuoYi-flowable.git)
- 阿里云折扣场:[点我进入](https://www.aliyun.com/activity/daily/bestoffer?userCode=q2b8atsa),腾讯云秒杀场:[点我进入](https://curl.qcloud.com/W5KFkBG4)
- 阿里云优惠券:[点我领取](https://www.aliyun.com/daily-act/ecs/activity_selection?userCode=q2b8atsa),腾讯云优惠券:[点我领取](https://curl.qcloud.com/AacfyRxq)
- 特别鸣谢:[RuoYi-Vue](https://gitee.com/y_project/RuoYi-Vue)
## 功能介绍
### 1. 工作流模块(`ruoyi-flowable`)
- 在线流程设计器(基于 bpmn-js 拖拽建模)
- 在线流程表单设计器
- 单节点配置表单
- 多实例会签任务
- 任务节点配置任务/执行监听器
- 动态配置任务候选人
- 流程定义/部署管理、流程实例管理、待办/已办任务、流程审批与历史查询
### 2. 系统管理(`ruoyi-system`)
- 用户、角色、部门、岗位管理
- 菜单及按钮权限、动态路由
- 字典、参数配置管理
- 通知公告、操作日志、登录日志
### 3. 系统监控(`ruoyi-quartz`)
- 在线用户管理
- 定时任务调度(Quartz)
- 数据监控(Druid 连接池)
- 服务监控(服务器 CPU/内存等,基于 oshi)
- 缓存监控(Redis)
### 4. 开发工具(`ruoyi-generator`)
- 代码生成:根据数据库表一键生成前后端代码(Velocity 模板)
- 系统接口:内置 springdoc(Swagger UI)
- 表单构建
## 演示地址
- 开源版演示地址:http://open.tony2y.top
- Vue2 / Vue3 演示地址(付费版):http://vue3.tony2y.top
- 移动端演示(h5)地址:http://mobile.tony2y.top
- 使用文档:https://www.yuque.com/u1024153/icipor
## 联系方式
付费版咨询、技术咨询、项目定制开发等其它支持可扫码添加微信进行沟通交流。

### 工作流交流群(QQ群号)
- ~~群1: 782924350(1)~~ - 已满
- 群二: 658810320(2)
- star 项目后复制群号申请入群
## 本地开发部署
### 环境要求
| 环境 | 版本要求 | 说明 |
|---------|----------------|--------------------------------------|
| JDK | 17+ | 后端编译运行 |
| Maven | 3.6+ | 后端依赖管理与打包 |
| MySQL | 5.7.0+ | 业务数据 + Flowable 引擎表 |
| Redis | 5.x+ | 默认 localhost:6379,无密码 |
| Node.js | 建议 14/16 LTS | 前端基于 Vue CLI 4(见下方注意事项) |
### 一、初始化数据库
1. 创建数据库(与后端配置中的库名一致,默认 `tony-flowable-boot4`,字符集 utf8mb4)。
2. 依次执行 `sql/` 目录下的脚本:
1. `ry_20260417.sql` —— 若依基础业务表及初始数据
2. `quartz.sql` —— 定时任务表
3. `tony-custom.sql` —— 本项目自定义扩展表
> Flowable 引擎表无需手动导入:`application.yml` 中 `flowable.database-schema-update: true`,首次启动时自动建表(生产环境建议改为 `false` 并提前建表)。
### 二、后端配置与启动(根目录 Maven 多模块工程)
模块结构:`ruoyi-admin`(Web 启动入口)、`ruoyi-flowable`(工作流)、`ruoyi-framework`(框架核心)、`ruoyi-system`(系统模块)、`ruoyi-quartz`(定时任务)、`ruoyi-generator`(代码生成)、`ruoyi-common`(通用工具)。
1. **修改数据源**:编辑 `ruoyi-admin/src/main/resources/application-druid.yml`,将 `master.url` 中的主机、库名、账号、密码改为你本地的 MySQL 信息。
2. **修改 Redis**:编辑 `ruoyi-admin/src/main/resources/application.yml` 中 `spring.data.redis` 的 `host`/`port`/`password`。
3. **修改文件上传路径**:`application.yml` 中 `ruoyi.profile` 默认为 `D:/ruoyi/uploadPath`,macOS/Linux 需改为本地路径,例如 `/Users/xxx/ruoyi/uploadPath`。
4. **启动**(二选一):
- IDE 中直接运行 `ruoyi-admin` 模块的主类 `com.ruoyi.RuoYiApplication`;
- 或命令行打包后运行:`mvn clean package -DskipTests`,然后执行 `java -jar ruoyi-admin/target/ruoyi-admin.jar`(生产环境可使用根目录 `ry.sh start` / `ry.bat` 脚本管理启停)。
5. **验证**:后端默认端口 `8080`。接口文档:http://localhost:8080/swagger-ui.html ;Druid 监控:http://localhost:8080/druid (默认 ruoyi / 123456,生产环境务必修改)。
### 三、前端安装与启动(`ruoyi-ui` 目录)
```bash
# 进入前端目录
cd ruoyi-ui
# 安装依赖
npm install
# 启动开发服务
npm run dev
```
- 启动后浏览器自动打开,访问 http://localhost:80 (`vue.config.js` 中 `port` 默认 80)。
- 默认管理员账号:`admin` / `admin123`(`ry` / `admin123` 为测试账号)。
- 生产构建:`npm run build:prod`,产物输出至 `ruoyi-ui/dist`。
### 四、注意事项
- **Node 版本兼容**:前端为 Vue CLI 4 项目,Node 17+ 可能报 `ERR_OSSL_EVP_UNSUPPORTED`,建议使用 Node 14/16 LTS;如必须使用新版 Node,可在启动前设置 `export NODE_OPTIONS=--openssl-legacy-provider`。
- **前后端联动**:前端开发代理指向 `http://localhost:8080`(`vue.config.js` 中 `baseUrl`),修改后端端口后需同步调整。
- **端口冲突**:80 端口被占用时,可用 `npm run dev -- --port 1024` 指定其他端口,或修改 `vue.config.js`。
- **验证码**:登录验证码依赖 Redis 存取,请确保 Redis 已启动且连接信息正确。
- **生产安全**:`application.yml` 中的 `token.secret`、Druid 监控账号密码、`flowable.database-schema-update` 等配置,上线前务必按生产要求调整。
## 其它业务系统
- [[ 智慧农业认养系统 ]](https://gitee.com/tony2y/smart-breed):基于Java + SpringBoot + Mybatis Plus + Redis + Vue + antdv,支持认养、商城、营销、会员、进销存、多租户等功能,包含小程序,系统管理后台。
- [[ 智慧景区管理系统 ]](https://gitee.com/tony2y/scenic-spot):基于Java + SpringBoot + Mybatis Plus + Redis + Vue + antdv,支持景区管理、售票、地块管理、认养、商城、农资管理、积分兑换等功能,包含小程序,系统管理后台。
## 请作者喝杯咖啡 ~ (*^▽^*)
## 演示图