Skip to content

Latest commit

 

History

History
251 lines (173 loc) · 7.47 KB

File metadata and controls

251 lines (173 loc) · 7.47 KB

🎪 Juggle 接口编排平台

Release License .NET 8 Vue 3

中文 | English


📖 简介

Juggle 中文有"积木、魔法"之意,寓意像积木一样灵活,像魔法一样强大,满足灵活多变的业务需求,助力业务快速落地!

Juggle 是一个图形化微服务编排工具,通过简单的流程编排,快速完成接口开发,大大提高开发效率。

✨ 核心能力

场景 说明
🧩 微服务编排 根据已有基础接口快速编排开发新接口
🔗 系统集成 快速打通第三方系统平台,消除系统壁垒
📦 BFF 层 面向前端提供聚合/适配层(Backend for Frontend)
🎨 定制开发 私有化标准功能定制,避免污染标准代码

🚀 快速开始

Docker 一键启动

docker run -d \
  --name juggle \
  -p 9127:9127 \
  -v juggle_data:/data \
  pythonhuang/juggle-net8:v1.0

或使用 docker-compose:

docker-compose up -d

🛠️ 技术栈

层级 技术
后端 ASP.NET Core 8 / EF Core 8 / SQLite
前端 Vue3 / Vite / Element Plus / Pinia
容器 Docker (multi-stage build)
认证 JWT + RBAC 角色权限

📦 功能特性(30+ 项)

核心流程

  • ✅ 可视化流程设计器(节点画布)
  • 13 种节点:START / END / METHOD / CONDITION / MERGE / ASSIGN / CODE / DB / SUB_FLOW / LOOP / DELAY / PARALLEL / NOTIFY
  • ✅ 节点超时 & 重试策略
  • ✅ 流程版本管理 & 版本对比
  • ✅ 流程克隆 / 导入 / 导出(含 Word 文档)
  • ✅ 流程分组管理

触发方式

  • ✅ 同步触发 GET/POST /open/flow/trigger/{key}
  • ✅ 异步触发 + 结果查询
  • ✅ Webhook 触发(含签名验证)
  • ✅ 定时任务调度

套件 & 接口

  • ✅ 套件 / 接口 / 对象 / 参数管理
  • ✅ 接口 Mock 功能

监控 & 测试

  • ✅ 监控仪表盘
  • ✅ 执行日志(含节点级日志)
  • ✅ 流程测试用例(断言 + 批量执行)
  • ✅ Monaco Editor 代码编辑(JS / SQL 高亮 + 自动补全)

系统管理

  • ✅ 用户管理 / 角色管理 / 菜单权限(RBAC)
  • ✅ 多租户数据隔离(JWT Claims 驱动)
  • ✅ 审计日志 / Token 权限管理
  • ✅ 系统配置中心 / 全局异常告警

数据库支持

  • 系统数据库:SQLite / MySQL / PostgreSQL / SQLServer
  • 业务数据源:SQLite / MySQL / PostgreSQL / SQLServer / Oracle / 达梦

📚 文档


🙏 致谢

本项目基于 Juggle 原始 Java 版本的设计思路与架构进行重构实现。

感谢 @somta 及原项目团队!





🎪 Juggle - API Orchestration Platform

Release License .NET 8 Vue 3

中文 | English


📖 Introduction

Juggle means "building blocks" and "magic" in Chinese, symbolizing flexibility like building blocks and power like magic — meeting flexible business needs and helping you deliver quickly!

Juggle is a graphical microservice orchestration tool that enables rapid API development through simple visual workflow design.

✨ Core Capabilities

Scenario Description
🧩 Microservice Orchestration Quickly build new APIs by orchestrating existing base APIs
🔗 System Integration Rapidly integrate with third-party platforms, breaking down system barriers
📦 BFF Layer Provide aggregation/adaptation layer for frontend (Backend for Frontend)
🎨 Custom Development Privatized standard function customization without polluting core code

🚀 Quick Start

Docker One-Click Start

docker run -d \
  --name juggle \
  -p 9127:9127 \
  -v juggle_data:/data \
  pythonhuang/juggle-net8:v1.0

Or use docker-compose:

docker-compose up -d

🛠️ Tech Stack

Layer Technology
Backend ASP.NET Core 8 / EF Core 8 / SQLite
Frontend Vue3 / Vite / Element Plus / Pinia
Container Docker (multi-stage build)
Auth JWT + RBAC Role-Based Access Control

📦 Features (30+)

Core Workflow

  • ✅ Visual workflow designer (node canvas)
  • 13 Node Types: START / END / METHOD / CONDITION / MERGE / ASSIGN / CODE / DB / SUB_FLOW / LOOP / DELAY / PARALLEL / NOTIFY
  • ✅ Node timeout & retry policies
  • ✅ Workflow version management & comparison
  • ✅ Clone / Import / Export (with Word docs)
  • ✅ Workflow grouping

Trigger Methods

  • ✅ Synchronous trigger GET/POST /open/flow/trigger/{key}
  • ✅ Asynchronous trigger + result query
  • ✅ Webhook trigger (with signature verification)
  • ✅ Scheduled task scheduling

Suite & API Management

  • ✅ Suite / API / Object / Parameter management
  • ✅ API Mock functionality

Monitoring & Testing

  • ✅ Monitoring dashboard
  • ✅ Execution logs (with node-level logs)
  • ✅ Workflow test cases (assertions + batch execution)
  • ✅ Monaco Editor code editing (JS / SQL highlighting + autocomplete)

System Management

  • ✅ User management / Role management / Menu permissions (RBAC)
  • ✅ Multi-tenant data isolation (JWT Claims driven)
  • ✅ Audit logs / Token permission management
  • ✅ System config center / Global exception alerting

Database Support

  • System Database: SQLite / MySQL / PostgreSQL / SQLServer
  • Business Data Sources: SQLite / MySQL / PostgreSQL / SQLServer / Oracle / Dameng

📚 Documentation


🙏 Acknowledgments

This project is a .NET 8 reimplementation based on the design and architecture of the original Juggle Java version.

Thanks to @somta and the original team!


📄 License

MIT License