Skip to content

putong1024/smartDiagram

Repository files navigation

输入文本 → 智能生成专业图表


🗺 架构总览

┌──────────────┐  ┌──────────────┐  ┌──────────────┐
│   微信小程序   │  │   Web 浏览器  │  │   管理后台    │
│   (原生)      │  │   (Vue 3)    │  │   (Vue 3)    │
└──────┬───────┘  └──────┬───────┘  └──────┬───────┘
       │                 │                 │
       └─────────────────┼─────────────────┘
                         │  REST API (Result<T>)
                  ┌──────┴──────┐
                  │   Server    │
                  │ Spring Boot │
                  │   Java 17   │
                  └──────┬──────┘
                         │  IR JSON (唯一契约)
                  ┌──────┴──────┐
                  │    Draw     │
                  │   Python    │
                  │ SVG/PNG/VSDX│
                  └─────────────┘

✨ 支持的图表类型

类型 输入 示例
🗄 ER 图 SQL CREATE TABLE 粘贴建表语句,自动生成实体关系图
🔀 流程图 自然语言文本 描述流程步骤,智能生成流程图
🏛 类图 Java 源代码 粘贴类定义,自动生成 UML 类图

📦 模块说明

模块 技术栈 职责
smartDiagram-server Spring Boot 3.2 + MyBatis Plus 认证、模板管理、图表编排、渲染调度
smartDiagram-draw Python 3.10+ 消费 IR JSON,输出 SVG/PNG/VSDX
smartDiagram-admin Vue 3 + Element Plus + Pinia 运营后台:用户/模板/图表管理
smartDiagram-app 微信小程序原生 终端用户:生成、预览、导出
smartDiagram-web Vue 3 + Element Plus 浏览器端:登录、生成、导出全流程

🚀 快速启动

后端服务

cd smartDiagram-server
cp src/main/resources/application-local.example.yml src/main/resources/application-local.yml
# 编辑 application-local.yml 填入数据库信息
mvn spring-boot:run

绘图引擎

cd smartDiagram-draw
pip install -r requirements.txt
python main.py --input samples/er.sample.json --output out.svg --format svg

管理后台

cd smartDiagram-admin
npm install && npm run dev

Web 端

cd smartDiagram-web
npm install
cp .env.development.example .env.development
npm run dev

小程序

用微信开发者工具打开 smartDiagram-app/ 目录。

🔗 核心契约

IR JSON 是 Server 与 Draw 之间唯一的数据契约:

用户输入 → Server 解析 → IR JSON → Draw 渲染 → SVG/PNG/VSDX
  • 前端不直接依赖绘图引擎
  • 渲染引擎不感知数据库和 HTTP
  • 文件存储通过 OssService 接口抽象

📖 文档

📊 项目状态

  • ✅ Server: 全功能 API + 认证 + 三格式同步渲染
  • ✅ Draw: ER/Flow/Class 解析器 + SVG/PNG/VSDX 输出
  • ✅ Admin: 用户/模板/图表管理 + OSS 配置
  • ✅ Web: 登录 + 生成 + 导出全链路
  • 🚧 App: 小程序页面开发中,备案进行中

📄 License

MIT

About

绘小智 - 智能图表生成系统。SQL→ER图、文本→流程图、代码→类图,支持 SVG/PNG/VSDX 输出,含微信小程序+Web+管理后台+Java后端+Python绘图引擎。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors