[Open Source] An Open-Source Rapid Development Platform Inspired by DingTalk Workflow, Featuring Workflow Design and Approval Functions
![[Open Source] An Open-Source Rapid Development Platform Inspired by DingTalk Workflow, Featuring Workflow Design and Approval Functions](https://yy123.ink/api/img/1782596933357-gsbxap.jpg)
1. Project Overview
Seaflow - A DingTalk-Inspired Workflow Rapid Development Platform
Seaflow is an open-source workflow platform inspired by DingTalk. The frontend is built with Vue 3 and Element Plus, providing workflow design and approval features. The backend uses the domestic workflow engine Warm-Flow to implement workflow control, significantly reducing the learning curve.
2. Open Source License
Licensed under Apache-2.0
3. Screenshots
Current Screenshots













4. Feature Overview
Seaflow is an open-source workflow platform inspired by DingTalk. The frontend is built with Vue 3 and Element Plus, providing workflow design and approval features. The backend uses the domestic workflow engine Warm-Flow to implement workflow control, significantly reducing the learning curve.
Function introduction
-
System Modules
-
User Management [*]
-
Role Management [√]
-
Menu Management [√]
-
Department Management [√]
-
Position Management [√]
-
OA Office
-
Submit a Request [√]
-
My Submitted Requests [√]
-
Pending Tasks [√]
-
Completed Tasks [√]
-
CC Tasks [-]
-
Workflow Management
-
Workflow Categories [√]
-
Workflow Designer [*]
-
Custom Forms [√]
-
Form Designer [-]
-
Workflow Configuration [*]
-
Workflow Publishing [√]
-
Version Management [-]
-
More features are being added progressively...
Workflow Analysis
The workflow uses the Warm-Flow framework. If you want to learn more, please visit the official website first to familiarize yourself with its basic structure. The following section provides a code analysis. Please feel free to point out any errors.
1. Workflow Logic
Workflow Design -> Workflow JSON -> Convert to Workflow Definition -> Publish
2. Workflow Application Initiation Logic
-
Submit a Workflow Application
-
Locate the start node and the next approval node (non-gateway)
-
Execute the start listener
-
Create a workflow instance object
-
Execute the permission listener (no longer recommended by the official team)
-
Create a historical task object
-
Create a task object for the next approval node
-
Replace assignee variables in the task (replace form data variables)
-
Execute the assignment listener (where approvers are dynamically assigned)
-
Save (workflow instance, tasks (create task assignees based on the permissionlist parameter), and historical tasks)
-
Execute the end listener and the creation listener for the next node
Approval Logic
More details will be added after further analysis
5. Tech Stack
Seaflow is an open-source workflow platform inspired by DingTalk. The frontend is built with Vue 3 and Element Plus, providing workflow design and approval features. The backend uses the domestic workflow engine Warm-Flow to implement workflow control, significantly reducing the learning curve.
Sealflow - A Modern Workflow Development Framework
-
Based on the Warm-Flow domestic workflow engine, inspired by DingTalk Workflow. Developed purely as a personal hobby and shared as open source. Please do not use it to develop competing derivative products.
-
Many parts of this project have only received basic implementation, as most of the development time was spent on workflow feature development.
Development environment
springboot 2.7.18 , java 17 , warm-flow , satoken , hutool , mybatis-plus , easy-trans