# FlyFlow-flowable工作流 **Repository Path**: mwqlight/flyflow ## Basic Information - **Project Name**: FlyFlow-flowable工作流 - **Description**: 类钉钉飞书样式,包含前后端代码、基于flowable的开箱即用的低代码开源专业工作流引擎 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://www.flyflow.cc - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 564 - **Created**: 2024-09-24 - **Last Updated**: 2025-10-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README #

Flowless

##

下一代智能化工作流程解决方案

SpringBoot JDK Flowable Mybatis-Flex Hutool SaToken Vue3 ElementPlus

## 项目概述 Flowless是基于开源项目FlyFlow重构和二次开发的新一代智能化工作流程解决方案。相较于原项目,Flowless在技术架构、功能特性和用户体验等方面都有显著提升: ### 核心特性 1. **现代化技术栈**:基于Spring Boot 3.0.0和JDK 17,采用Mybatis-Flex替代Mybatis-Plus,集成Sharing-JDBC实现分库分表 2. **AI智能集成**:深度集成Spring AI Alibaba,提供流程图智能生成、NL2SQL、智能问答等AI功能 3. **动态扩展机制**:支持通过JAR包形式动态扩展触发器、延时器、事件监听器等流程组件 4. **可视化表单设计**:提供拖拽式表单设计器,支持自由布局和组件调整 5. **分布式架构**:采用UUID有序主键,支持分布式部署和高并发场景 6. **数据库迁移**:集成Flyway实现数据库版本管理 ## 技术架构 ### 后端架构 ``` flowless-flow ├── flowless-flow-common # 公共模块 ├── flowless-flow-app # 应用入口模块 ├── flowless-flow-develop # 业务开发模块 ├── flowless-flow-flowable # 流程引擎模块 ├── flowless-flow-loader # 动态扩展加载模块 └── flowless-flow-ai # AI集成模块 ``` ### 核心技术栈 - **基础框架**:Spring Boot 3.0.0 + JDK 17 - **流程引擎**:Flowable 6.8.0 - **持久层**:Mybatis-Flex + Sharing-JDBC - **数据库**:MySQL 8.0 - **缓存**:Redis - **安全框架**:Sa-Token - **AI集成**:Spring AI Alibaba - **数据库迁移**:Flyway - **前端框架**:Vue 3.4.3 + Element Plus ## 功能模块 ### 1. 流程管理 - 可视化流程设计 - 流程版本管理 - 流程实例监控 - 任务分配与处理 ### 2. 表单设计 - 拖拽式表单设计器 - 自由布局调整 - 丰富的表单组件库 - 动态表单配置 ### 3. AI智能助手 - 自然语言生成流程图 - NL2SQL转换 - 智能问答系统 - 文本摘要功能 ### 4. 扩展机制 - JAR包动态加载 - 触发器扩展 - 延时器扩展 - 事件监听器扩展 - SPI机制支持 ### 5. 系统管理 - 用户权限管理 - 角色组织架构 - 系统配置管理 - 操作日志审计 ## 快速开始 ### 环境要求 - JDK 17+ - MySQL 8.0+ - Redis 5.0+ - Maven 3.6+ ### 后端部署 ```bash # 克隆项目 git clone https://gitee.com/your-repo/flowless.git # 进入项目目录 cd flowless/backend # 编译项目 mvn clean install # 启动应用 java -jar flowless-flow-app/target/flowless-flow-app.jar ``` ### 前端部署 ```bash # 进入前端目录 cd flowless/frontend # 安装依赖 npm install # 启动开发服务器 npm run dev ``` ## 数据库初始化 项目集成Flyway进行数据库版本管理,启动时会自动执行迁移脚本: 1. V1__Initial_Setup.sql - 初始化表结构 2. V2__Add_Indexes.sql - 添加索引 3. V3__Insert_Default_Data.sql - 插入默认数据 ## 扩展开发 ### JAR包扩展开发步骤 1. 创建Java项目,实现扩展接口 2. 打包为JAR文件 3. 通过管理界面上传JAR包 4. 在流程中配置使用扩展功能 ### 扩展接口 - `ProcessTrigger` - 流程触发器接口 - `ProcessTimer` - 流程延时器接口 - `ProcessEventListener` - 流程事件监听器接口 ## AI功能配置 ### 阿里云DashScope配置 在application.yml中配置: ```yaml spring: ai: dashscope: api-key: your-api-key ``` ## 贡献指南 欢迎提交Issue和Pull Request来帮助改进Flowless项目。 ## 开源协议 本项目基于MIT协议开源,详细信息请查看[LICENSE](LICENSE)文件。 ## 技术交流 如有问题或建议,请提交Issue或通过以下方式联系: - 微信:your-wechat-id - 邮箱:your-email@example.com