[Open Source] A highly extensible workflow engine designed to be independent of platform organizational structures.
![[Open Source] A highly extensible workflow engine designed to be independent of platform organizational structures.](https://yy123.ink/api/img/1782597389015-ufpyen.jpg)
1. Project Overview
workflow-engine
This workflow engine is completely open source and free. It aims to provide a highly extensible workflow engine independent of any specific platform or organizational structure. Existing business organizational structures and approval processes can be integrated through custom user selectors and condition handlers.
2. Open Source License
Licensed under LGPL-3.0 open source protocol
3. Screenshots









4. Feature Overview
This workflow engine is completely open source and free. It aims to provide a highly extensible workflow engine independent of any specific platform or organizational structure. Existing business organizational structures and approval processes can be integrated through custom user selectors and condition handlers.
Project characteristics
There are many workflow projects, each with its own characteristics. The key feature of this project is decoupling. It abstracts condition selection and personnel assignment during the approval process, allowing users to customize personnel and condition configurations according to their organizational structure without modifying business logic code. All that is required is a simple implementation of custom interfaces for condition handling and personnel selection.
Traditional Approach
In traditional implementations, workflow approvals are tightly coupled with the business system, particularly form data validation during the approval process and the selection of personnel (organizational units).

This Project's Approach
The core idea of this project is to separate the approval process from the business system. The basic principle is that whether approvals are coupled with or separated from the business system, the final operation is always to update the form status.

5. Tech Stack
This workflow engine is completely open source and free. It aims to provide a highly extensible workflow engine independent of any specific platform or organizational structure. Existing business organizational structures and approval processes can be integrated through custom user selectors and condition handlers.
Workflow Overview
A standalone workflow engine has little practical value. It generally needs to be integrated with a specific organizational structure and business processes. Therefore, it must be connected to the organizational system according to the application scenario. This system was originally designed to separate the engine core from business logic. A simple interface implementation is all that is needed to integrate it with an existing organizational structure.
Deployment Method
The current workflow engine has its own complete operating mechanism and is not suitable for breaking apart its source code and merging it into other systems. The most suitable deployment approach is a distributed architecture. In this architecture, integration with business systems is handled through interfaces.
-
In general, the business system maintains its own approval status for forms and initiates an approval process by calling the workflow system's API. Alternatively, it can manage its own forms and statuses while using this engine exclusively to handle workflow transitions.
-
After successfully creating a workflow, the workflow system triggers an approval-start event. By subscribing to this event, the business system can receive a callback and update the approval status of its business forms.
-
Other features, such as creating new workflow designs and viewing workflow approval records, can be accessed through API queries or implemented by developing the corresponding query interfaces yourself.
Plugin system
The system implements a plugin management mechanism designed to allow certain plugins (extension points) to be configured and reused. Administrators can log in to manage and configure plugins.
Detailed content please refer to README.md document