[Open Source] An Event-Driven, Flow-Based Low-Code Programming Application Released Under the MIT License
![[Open Source] An Event-Driven, Flow-Based Low-Code Programming Application Released Under the MIT License](https://yy123.ink/api/img/1782594304905-dpouva.jpg)
1. Project Overview
flow-eda
The flow-eda project is an event-driven, flow-based low-code programming application. Its primary feature is visual programming, allowing users to design workflows by dragging, dropping, connecting, and combining nodes to achieve low-code development and business process implementation.
2. Open Source License
Licensed under MIT
3. Screenshots
Project Showcase


Vue3 Version Interface:

React Version Interface:

Editor Interface:

4. Feature Overview
Use Cases
-
Automated business process handling. For example, when processing specific data, you can define workflows by dragging and dropping nodes and reuse them repeatedly.
-
Supports multithreaded concurrent processing and flexible node combinations and orchestration. Complex logical workflows involving AND, OR, NOT, and other operators can be created. Also supports blocking, waiting, and periodic execution.
-
Web Crawling: For example, retrieve specific information from the internet and process it. Supports displaying results, storing data in databases, and sending emails.
-
Scheduled Tasks: Execute business operations periodically, with support for specifying the number of executions or running indefinitely. Supports cron expressions and more.
-
Basic CRUD business models with support for custom HTTP interfaces, protocols such as WebSocket and MQTT, and common database operations.
-
Visualized Business Execution Workflows: While a workflow is running, its execution status and available execution information can be viewed in real time on a web page, including input and output parameters.
Project characteristics
-
The entire workflow execution engine is implemented on the backend, keeping the frontend extremely lightweight. All data and parameters, including input fields, are provided through backend configurations. The frontend is only responsible for rendering the data. Future development only requires extending backend functionality. No frontend modifications are necessary, and compatibility is handled automatically.
-
Supports freely dragging, combining, and arranging nodes to create business workflows. Supports multithreaded processing as well as parallel and sequential workflows.
-
The workflow execution engine features a modular and configuration-driven design. When extending or developing new functionality, you only need to add the corresponding configurations and module code for the new features. The execution engine adapts automatically.
-
The backend adopts a microservices architecture, with modules decoupled from one another according to their business functions. This facilitates future secondary development and feature expansion.
-
The codebase uses a rich technology stack and various design patterns, making it a valuable learning resource.
-
Code style strictly follows established standards. Backend code adheres to Alibaba coding guidelines and is formatted using google-java-format. Frontend code is formatted using Prettier. Yellow-highlighted code warnings and other issues are eliminated to ensure consistent coding standards.
Main Functions
-
Supports user login and registration, API authentication, and data isolation
-
Workflow management and log management. Features a simple, user-friendly menu for easy navigation
-
Supports drawing arbitrary flowcharts without complicated conditional constraints. Validation is only applied to required parameters for certain nodes
-
All functional nodes have equal status, with no fixed start or end positions. Nodes can be connected and arranged freely, with no limit on the number of connections
-
Supports user-defined parameters. Use the ${} placeholder to retrieve parameter values. Parameters can be passed downward indefinitely and accessed at any position
-
Supports commonly used keyboard shortcuts for operating nodes while drawing flowcharts
-
Supports flowchart import and export, allowing you to quickly import existing workflows and modify them
-
Supports real-time monitoring of workflow execution status, helping users identify the current execution step, the status of each node, error messages, and more
-
Supports real-time workflow execution logs, including live and historical logs containing the input and output parameters of each node
-
Supports concurrency. Workflows run in parallel, automatically identifying all starting nodes in the workflow and executing them simultaneously. Data is isolated to ensure that executions do not interfere with one another
-
Supports nested workflows, allowing other workflows to be selected and executed as subprocesses
-
Provides a large collection of workflow examples for reference, with corresponding flowchart examples available for each functional node
5. Tech Stack
An event-driven, flow-based low-code programming application built with Spring Boot + Vue/React. You can implement business logic through drag-and-drop operations in the editor, with one-click execution and stopping, making development simpler and more efficient.
System architecture diagram

Backend Technology Stack
|
Technology |
Version |
Description |
|
Docker |
20.10.14 |
Application container engine |
|
Docker Compose |
2.5.0 |
Application Container Deployment Tool |
|
Spring Boot |
2.6.4 |
Microservice framework |
|
Mybatis |
3.5.9 |
ORM Framework |
|
Mysql |
8.0.28 |
Database |
|
Maven |
3.6.3 |
Project Build Management Tool |
|
PageHelper |
5.3.0 |
MyBatis Physical Pagination Plugin |
|
Lombok |
1.18.22 |
Code Plugins |
|
Nacos |
2.0.4 |
Service Registry |
|
Dubbo |
3.0.7 |
Remote Service Invocation |
|
WebSocket |
9.0.58 |
Data Push |
|
RabbitMQ |
3.9.15 |
Message queue |
|
Spring Security |
5.6.2 |
Authentication and authorization framework |
|
Security Oauth2 |
2.3.6 |
Authentication and authorization framework |
|
Guava |
31.0.1 |
Rate Limiting Component |
Project Modules
-
flow-eda-common Common Utilities Module
-
flow-eda-runner Workflow Execution Engine Module
-
flow-eda-web Backend Administration Web Module
-
flow-eda-logger Log Management Module
-
flow-eda-oauth2 Authentication and Authorization Module
-
flow-eda-vue Frontend Vue Module
-
flow-eda-react Frontend React Module