[Open Source] Workflow Engine Framework with Customizable Drag-and-Drop Forms, Perfect for Various Private Deployment Approval Scenarios
![[Open Source] Workflow Engine Framework with Customizable Drag-and-Drop Forms, Perfect for Various Private Deployment Approval Scenarios](https://yy123.ink/api/img/1782595187601-dx2mhr.jpg)
1. Project Overview
Castle Workflow Engine Framework
Save time and effort with drag-and-drop form generation and intuitive workflow design that anyone can understand.
A software solution for managing online work processes and tasks. Supports online workflow form design, multi-user approval processes, task reassignment, additional approval steps, and workflow rollback. Suitable for various office scenarios, including document reviews, approval requests, and leave applications.
This project is fully developed based on the Flowable workflow engine. Forms use a drag-and-drop design, while workflow design follows the DingTalk style.
A workflow engine framework for commercial use, featuring customizable drag-and-drop forms and workflows. Perfectly suited for various private deployment approval scenarios.
2. Open Source License
Licensed under MIT
3. Screenshots
Mobile Interface Preview
Application Page:

Submit an Application:

My Applications:

Approval Details:

Reassign:

Delegate:

My Approvals:

Settings:

PC Interface Preview
Form Design:

Workflow Design:

4. Feature Overview
A commercial workflow engine framework featuring zero-code, drag-and-drop form design and flexible adaptation to business requirements. Configure workflows with one click, whether simple or complex. It is particularly suitable for private deployment approval scenarios, such as project and contract approvals. Achieve efficient and seamless approval processes while optimizing business workflows and improving internal approval efficiency.
Castle Workflow Mobile App
Main features:
-
Allows users to submit and approve applications on mobile devices.
-
Quickly browse and process pending approval requests.
-
Supports reassignment, rollback, carbon copying, and other functions.
-
Supports name searches, date filters, and type filters.
-
Applications support image and attachment uploads.
-
Workflow approval comments support image and attachment uploads.
Supported Workflow Features:
|
Function List |
Description |
Support Level |
|
Workflow Basics |
Workflow design, activation, and deactivation. |
✔ |
|
Supported Node Types |
Conditional branches and parallel branches. |
✔ |
|
Supported Approvers |
Specific users, manual selection by the initiator, consecutive multi-level approvers, direct supervisors, specified roles, and self-approval. |
✔ |
|
Approval Processes |
Joint approval, alternative approval, and sequential approval. |
✔ |
|
Approve |
Used to approve the submitted data and trigger subsequent nodes according to workflow rules. |
✔ |
|
Reject |
Used to reject the submitted data and return it to the corresponding node or terminate the workflow directly according to workflow rules. |
✔ |
|
Transfer |
Transfers the approval permissions for the current node to another person and forwards the workflow to the designated user. |
✔ |
|
Add Approver Before |
When the current approver needs guidance or additional feedback from another person, the workflow can first be forwarded to that person for review. The current approver's pending task is temporarily suspended. After the additional approver completes their review, the workflow returns to the current approver, who then makes a decision based on the feedback received. In simple terms, if the normal approval process is A->B->C and B adds D as a pre-approver, the process becomes A->B-->D-->B->C. |
✔ |
|
Add Approver After |
After the current node has been approved, additional approvers can be added to the process. Once these additional approvers complete their reviews, the workflow proceeds to the next node. For example, if the normal approval process is A->B->C and B adds D as a post-approver, the process becomes A->B-->D-->C. |
✔ |
|
Return |
Return refers to an approver at an [Approval Node] or a handler at a [Processing Node] returning the workflow to a specified node. It is used to handle business scenarios where a workflow needs to be returned to a specific node for modifications. |
✔ |
|
Rejection |
Approver Rejection |
✔ |
|
CC Notification |
When relevant personnel need to be notified of workflow progress or processing results, a CC node can be added to the form workflow. CC recipients can only view and print form data. |
✔ |
|
Revoke |
The initiator cancels the approval workflow. Records that have already been processed remain unchanged. After cancellation, the workflow ends immediately. |
✔ |
|
Comment |
Comment on a specific workflow node. Supports text, images, and attachments. |
x |
|
End Workflow |
The current node's approver can directly end the workflow during approval, and the workflow will no longer proceed. |
✔ |
Component List
Single-line input, multiline input, number input, password input, divider, radio button, checkbox, time picker, time range picker, date-time picker, date-time range picker, color picker, switch, slider, image upload, video upload, attachment upload, user selector, department selector, rating, explanatory text, province/city/district selector.
5. Tech Stack
This project is fully developed based on the Flowable workflow engine. Forms use a drag-and-drop design, while workflow design follows the DingTalk style.
Flowable is a lightweight business process engine written in Java. It supports BPMN 2.0 process definitions and allows you to deploy process definitions, create process instances, perform queries, and access running or historical process instances and related data. It provides various process engine-based features, including process definitions, process instances, tasks, and events.