# 流程引擎 **Repository Path**: nguyen_ping/process-engine ## Basic Information - **Project Name**: 流程引擎 - **Description**: 改好了可以直接用的流程引擎 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-04-02 - **Last Updated**: 2026-04-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🏗️ process-engine —— 轻量级流程引擎系统 > 一个基于 Spring Boot 的轻量级工作流/业务流程引擎,支持流程定义、任务调度、状态管理,适用于内部审批、自动化任务等场景。 [![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) [![Spring Boot](https://img.shields.io/badge/Spring_Boot-3.2.x-green)](https://spring.io/projects/spring-boot) [![Java](https://img.shields.io/badge/Java-17+-blue)](https://www.oracle.com/java/) --- ### 📌 项目简介 `process-engine` 是一个简化版的流程引擎,核心功能包括: - 流程定义(XML/JSON 配置) - 任务节点流转 - 多用户任务分配 - 状态机驱动执行 - RESTful API 接口(Swagger 文档) > 本项目适合学习流程引擎设计、微服务任务编排,也支持企业级轻量级审批流程落地。 --- ### ⚙️ 技术栈 | 类别 | 技术 | |------|------| | 框架 | Spring Boot 3.2.x | | 语言 | Java 17+ | | 数据库 | MySQL 8.0+ / PostgreSQL | | 连接池 | Druid | | 日志 | Log4j2 | | API 文档 | Swagger UI | | 构建 | Maven | | 模板引擎 | Thymeleaf(可选) | --- ### 🚀 快速启动 #### 1. 克隆项目 ```bash git clone https://gitee.com/nguyen_ping/process-engine.git cd process-engine 2. 配置数据库 ✅ 请勿直接修改 application.yml!使用环境变量部署更安全。 创建 .env 文件(仅本地使用,不要提交到 Git): bash DB_URL=jdbc:mysql://localhost:3306/process_engine?useSSL=false&serverTimezone=Asia/Shanghai DB_USERNAME=root DB_PASSWORD=your_password SWAGGER_ENABLED=true 3. 启动应用 bash mvn spring-boot:run 4. 访问 API 文档(开发环境) ⚠️ 生产环境请设置 SWAGGER_ENABLED=false! http://localhost:8080/swagger-ui.html 🔐 安全建议(生产部署必读) 风险项 建议 Swagger 暴露 生产环境设置 SWAGGER_ENABLED=false 硬编码配置 使用环境变量或配置中心(如 Nacos) 数据库凭证 通过 Secrets 注入,禁止写入代码 日志敏感信息 确保日志不输出密码、Token 📂 项目结构概览 src/ ├── main/ │ ├── java/ │ │ └── com.nguyen_ping.processengine/ │ │ ├── ProcessEngineApplication.java # 启动类 │ │ ├── config/ # 配置类 │ │ │ ├── DataSourceConfig.java │ │ │ └── SwaggerConfig.java │ │ ├── controller/ # REST API │ │ │ └── ProcessController.java │ │ ├── service/ # 业务逻辑 │ │ │ └── ProcessService.java │ │ ├── repository/ # 数据访问 │ │ │ └── ProcessRepository.java │ │ └── model/ # 实体类 │ │ └── ProcessInstance.java │ └── resources/ │ ├── application.yml # 安全配置(见上) │ ├── .env.example # 环境变量模板 │ ├── static/ # 静态资源 │ └── templates/ # Thymeleaf 模板 🤝 如何贡献? 欢迎提交 Issue 或 Pull Request! Fork 本项目 创建你的分支:git checkout -b feature/your-feature-name 提交更改:git commit -m "feat: add new process type" 推送分支:git push origin feature/your-feature-name 提交 Pull Request 请确保: 代码风格一致(使用 Spotless 或 Checkstyle) 新增功能附带单元测试 更新 README.md 或文档 📜 开源协议 本项目采用 MIT License 开源,自由使用、修改、分发,无需授权。 © 2025 Nguyen Ping. All rights reserved. 💡 项目持续优化中,欢迎 Star ⭐ 和 Follow!