The-Indigo0218/LibreUML
GitHub: The-Indigo0218/LibreUML
开源免费的本地优先 UML 编辑器,支持 Java 代码的正向生成与逆向解析,帮助学生和开发者在可视化建模与实际代码之间无缝切换。
Stars: 18 | Forks: 1
# LibreUML 🚀




**面向学生和开发者的开源、本地优先的 UML 编辑器。**
LibreUML 是一款现代化的软件建模工具,旨在消除可视化设计与实际代码之间的鸿沟。默认本地优先,在需要时亦可随时连接云端。

## 🌟 为什么选择 LibreUML?
大多数 UML 工具要么价格昂贵,要么需要注册,或者对于学术环境而言过于复杂。**LibreUML** 秉持着明确的理念诞生:
* 🔒 **本地优先且支持云端:** 你的图表属于你自己。你可以 100% 离线处理本地文件 (.luml),或者连接你的 GitHub 账户,将你的架构直接与云端仓库同步。
* ⚡ **开发者体验:** 灵感源自 VS Code 的界面。支持快捷键、命令面板和原生暗黑模式。
* 🔄 **完整生命周期:** 绘制图表并生成 Java 代码。或者导入 Java 代码并生成图表。
## ✨ 核心特性
### 1. 正向工程
设计你的类图并将其导出为可直接编译的 **Java (Maven/Gradle)** 项目。
* 生成文件夹结构 (`src/main/java...`)。
* 自动创建 `pom.xml` 或 `build.gradle`。
* 遵守访问修饰符和类型。

### 2. 逆向工程
你有遗留代码?拖拽你的 `.java` 文件,看看 LibreUML 如何重建图表。
* 检测继承 (`extends`) 和实现 (`implements`)。
* 使用 🟢 视觉指示器标识入口点 (`main`)。
* 对尚未导入的类引用使用“幽灵节点”。

### 3. 强大的可视化编辑器
* **拖拽:** 基于 React Flow 的直观界面。
* **验证:** 实时防止非法连接。
* **国际化:** 完整支持 🇬🇧 英语和 🇪🇸 西班牙语。
## 🌱 项目愿景
LibreUML 是一个具有长远愿景的教育和开源项目:
使**可视化建模**成为一项易于访问、现代化且免费的技能,面向学生、教师和技术培训人员。
该项目不仅探索 UML,还探索流程图、数据库建模以及其他作为思维工具的可视化表示形式。
👉 [阅读 LibreUML 的愿景](docs/VISION.md)
👉 [了解教育规划:LibreUML Academy](docs/education/ACADEMY_VISION.md)
## 🛑 LibreUML 不是什么?
为了管理预期:
* ❌ **🔄 不是封闭的 SaaS(而是一个混合生态系统):** 你无需账号即可使用 LibreUML 进行快速的本地任务。但是,你可以选择登录 LibreUML Academy 以解锁高级集成、学习遥测和云同步。
* ❌ **不是 LMS:** 不对学生进行评分(尽管包含供他们自我评估的工具)。
* ❌ **不是完整的 IDE:** 生成结构,但业务逻辑需要在你喜欢的 IDE(IntelliJ, Eclipse, VS Code)中编写。
## 📚 文档
- 🌱 [项目愿景](docs/VISION.md)
- 🎓 [LibreUML Academy (教育愿景)](docs/education/ACADEMY_VISION.md)
- 🎓 [致教育工作者](docs/education/FOR_EDUCATORS.md)
- 🚀 [入门指南](docs/onboarding/GETTING_STARTED.md)
- 📐 [UML 标准合规性](docs/uml/UML_STANDARD.md)
- 🧩 [UI 架构](UI_ARCHITECTURE.md)
## 🛠️ 技术栈
项目采用现代架构和质量标准构建:
* **核心:** React 18, TypeScript, Vite。
* **可视化引擎:** React Flow。
* **桌面封装:** Electron (可选)。
* **样式:** Tailwind CSS。
* **测试:** Vitest (解析和生成服务的完整覆盖)。 🟢
* **架构:** 六边形架构风格 (UI、业务逻辑和 Stores 的严格分离)。
## 🚀 入门指南
### 前置条件
* Node.js 18+
### 安装
```
# 1. 克隆仓库
git clone https://github.com/The_Indigo0218/LibreUML.git
# 2. 进入目录
cd LibreUML
# 3. 安装依赖
npm install
# 4. 以开发模式启动
npm run dev
npm run electron:dev
```
### 运行测试
为了验证工程引擎的完整性:
```
npm run test
```
## 🗺️ 简化路线图
* ✅ **阶段 1:核心** (编辑器,本地保存,主题)。
* ✅ **阶段 2:工程** (Java 解析器,Zip 生成器)。
* 🟡 **阶段 3:UX/打磨** (着陆页,文档)。
* 🔒 **阶段 4:多语言** (支持 Python 和 SQL)。
## 📄 许可证
该项目基于 **MIT** 许可证授权 - 你可以自由使用、修改和分发它,非常适合教育环境。
用 ❤️ 为开发者社区打造。
标签:Electron, GitHub同步, Gradle, IP 地址批量处理, Maven, React, Syscalls, UML编辑器, Vite, VS Code风格, Waymore结果处理, 代码生成, 反向工程, 学生开发者, 本体建模, 本地优先, 桌面应用, 渗透测试工具, 漏洞测试, 漏洞验证, 离线工具, 类图, 系统设计, 自动化攻击, 软件架构