[开源]MIT开源协议,一种基于事件驱动的流式低代码编程应用程序

开源系统流程管理
2026-06-28 05:04 2 次浏览 • 0 次下载 0KB
[开源]MIT开源协议,一种基于事件驱动的流式低代码编程应用程序

一、开源项目简介

flow-eda

flow-eda 项目是一种基于事件驱动的流式低代码编程应用程序,它的主要功能是采用可视化编程,以拖拽节点、连接组合节点的形式来完成流程绘制,达到低代码开发和实现业务编程的目的。

二、开源协议

使用MIT开源协议

三、界面展示

项目展示

图片

 

图片

Vue3 版本界面:

图片

React 版本界面:

图片

编辑器界面:

图片

四、功能概述

应用场景

  • 自动化流程业务处理,例如需要处理某个数据,可以用拖拽节点定义这些流程,反复使用。

  • 支持多线程并发处理,任意组合、编排,可组合与或非等各种复杂的逻辑流程,支持阻塞、等待、周期性执行等。

  • 网络爬虫,例如需要爬取网络上的一些特定信息,然后加以处理,支持输出展示、存储到数据库或者发送邮件。

  • 定时任务,可以定时执行一些业务,周期性执行,可以指定次数或者不限制,支持 cron 表达式等。

  • 基础的增删改查业务模型,可支持自定义 HTTP 接口,支持 websocket、MQTT 等协议,支持常用的数据库操作。

  • 业务执行流程可视化,在流程运行时,可以在 web 页面上实时看到执行状态可执行信息,包括输入输出参数等。

项目特点

  • 整个流程运行引擎全都在后端实现,前端非常轻量,所有的数据、参数、包括输入框等数据全由后端配置提供,前端仅负责根据数据展示。后期开发仅扩展后端功能即可,前端无需更改,自动兼容。

  • 支持任意拖拽、组合、编排节点,形成业务流程,支持多线程处理,支持并行和串行流程。

  • 流程运行引擎做到模块化、配置化。后期在进行功能扩展和开发时,仅需要针对新增的功能,新增配置和新增模块功能代码即可,运行引擎自动适配。

  • 后端设计采用微服务架构,各个模块之间按业务功能相互解耦。便于后期二次开发和功能扩展。

  • 代码框架使用的技术栈丰富,使用了多种设计模式,值得学习。

  • 代码风格严格按照规范执行,后端代码遵循 Alibaba 规范,代码格式使用 google-java-format 格式化,前端代码使用 Prettier 格式化,消除代码中的标黄警告等,做到编码规范化。

主要功能

  • 支持用户登录和注册,接口鉴权、数据隔离

  • 流程管理、日志管理。菜单简洁,便于用户使用

  • 支持绘制任意的流程图,没有繁琐的条件约束,仅针对某些节点的必填参数做了校验

  • 各功能节点地位平等,不分头尾,可任意连接绘制,连接数量无上限

  • 支持用户自定义参数,使用占位符${}即可获取参数值,由上至下可无限传递,可在任意位置取值

  • 支持在绘制流程图时使用常用快捷键对节点进行操作

  • 流程图支持导入/导出功能,可以快速的导入绘好的流程并进行修改

  • 可实时查看流程运行状态变化,便于用户了解流程运行至哪一步,以及各节点当前的状态、错误信息等

  • 支持查看流程实时运行日志功能,可查看实时运行日志和历史运行日志,内含各个节点的输入输出参数

  • 支持并发,流程采用并行运行的方式,会自动从流程中找出所有起始节点同时开始运行,数据隔离,互不干扰

  • 支持流程嵌套,可在流程中选择其他流程作为子流程运行

  • 提供了大量的流程图示例可供参考,每个功能节点都有对应的流程图示例

五、技术选型

采用springboot+vue/react搭建的一个基于事件驱动的流式低代码编程应用程序,您可以在编辑器中采用拖拽的形式来实现业务编程工作,一键运行和停止,让开发工作变得更简单高效。

系统架构图

图片

后端技术栈

技术

版本

说明

Docker

20.10.14

应用容器引擎

Docker Compose

2.5.0

应用容器部署工具

Spring Boot

2.6.4

微服务框架

Mybatis

3.5.9

ORM 框架

Mysql

8.0.28

数据库

Maven

3.6.3

项目构建管理工具

PageHelper

5.3.0

MyBatis 物理分页插件

Lombok

1.18.22

代码插件

Nacos

2.0.4

服务注册中心

Dubbo

3.0.7

服务远程调用

WebSocket

9.0.58

数据推送

RabbitMQ

3.9.15

消息队列

Spring Security

5.6.2

认证和授权框架

Security Oauth2

2.3.6

认证和授权框架

Guava

31.0.1

限流组件

项目模块

  • flow-eda-common 公共工具模块

  • flow-eda-runner 流程运行引擎模块

  • flow-eda-web 后台管理 web 模块

  • flow-eda-logger 日志管理模块

  • flow-eda-oauth2 认证鉴权模块

  • flow-eda-vue 前端 vue 模块

  • flow-eda-react 前端 react 模块