Stay Hungry,Stay Foolish!

Ducky - BPMN 工作流管理系统

Ducky - BPMN 工作流管理系统

https://github.com/fanqingsong/ducky/tree/main

一个基于 FastAPI 和 SpiffWorkflow 的 BPMN 2.0 工作流管理系统,提供完整的流程定义管理、实例执行和可视化功能。

功能特性

核心功能

  • 流程定义管理:创建、编辑、删除 BPMN 流程定义
  • 流程实例管理:查看和管理流程执行实例
  • 工作流执行:支持用户任务、脚本任务、条件分支等
  • 任务拓扑图:可视化展示任务执行状态(已完成/当前/待执行)
  • 执行流程图:展示完整的工作流执行过程

技术特性

  • 🚀 FastAPI:高性能异步 Web 框架
  • 🔄 SpiffWorkflow:BPMN 2.0 工作流引擎
  • ⚛️ React + Ant Design:现代化前端界面
  • 🐳 Docker:容器化部署
  • 📊 SQLite:轻量级数据库

 

使用指南

1. 流程定义管理

在"流程定义管理"页面,你可以:

  • 创建流程:点击"新建"按钮,填写流程名称和 BPMN XML 定义
  • 编辑流程:点击"编辑"按钮修改流程定义
  • 查看流程:点击"查看"按钮查看完整的 BPMN XML
  • 删除流程:点击"删除"按钮删除流程定义

2. 工作流演示

在"工作流演示"页面,你可以:

  1. 选择流程:从下拉列表中选择一个流程定义
  2. 创建实例:点击"创建流程实例"按钮
  3. 填写表单:根据当前任务填写表单数据
  4. 执行步骤:点击"执行下一步"继续工作流
  5. 查看结果:工作流完成后查看执行结果

3. 流程实例管理

在"流程实例管理"页面,你可以:

  • 查看实例列表:查看所有流程实例及其状态
  • 查看详情:点击"查看详情"查看实例信息
  • 查看拓扑图:在详情页切换到"任务拓扑图"标签,查看任务执行拓扑

4. 执行流程图

在"执行流程图"页面,你可以查看:

  • 系统整体流程:从选择流程到完成的整体流程
  • 创建实例流程:创建流程实例的详细步骤
  • 执行步骤流程:执行工作流步骤的详细流程
  • 状态转换图:工作流状态之间的转换
  • 错误处理流程:错误处理和恢复机制

BPMN 流程定义

支持的元素

  • 开始事件 (Start Event)
  • 结束事件 (End Event)
  • 用户任务 (User Task):需要用户输入
  • 脚本任务 (Script Task):自动执行 Python 脚本
  • 排他网关 (Exclusive Gateway):条件分支
  • 顺序流 (Sequence Flow):连接元素

用户任务表单字段

支持的表单字段类型:

  • string:文本输入
  • boolean:布尔值(是/否)
  • enum:枚举选择
  • long:整数
  • double:浮点数

示例流程

项目预置了 5 个示例流程,用于学习和测试:

  1. 01-简单流程:最简单的流程,无任务
  2. 02-用户任务流程:包含用户任务的流程
  3. 03-条件分支流程:包含条件判断的流程
  4. 04-审批流程:包含审批逻辑的流程
  5. 05-订单处理流程:复杂的订单处理流程

详细说明请参考 README_SAMPLES.md

 

posted @ 2025-11-16 14:01  lightsong  阅读(2)  评论(0)    收藏  举报
千山鸟飞绝,万径人踪灭