# zGantt **Repository Path**: cpsoft13/z-gantt ## Basic Information - **Project Name**: zGantt - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-07-04 - **Last Updated**: 2026-07-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # zGantt **本地优先的甘特图项目管理工具** | *Local-first Gantt Chart Project Management* 基于 Tauri v2 构建的跨平台桌面应用,本地存储数据,无需联网,保护隐私。 *A cross-platform desktop app built with Tauri v2. All data stored locally — no network required, privacy-first.* --- ## 功能特性 | Features - 📊 **甘特图视图** — 日/周/月/季度多粒度缩放,计划时间线与实际时间线双轨对比 - 📋 **任务管理** — 无限层级任务树、拖拽排序、里程碑标记、进度追踪 - 🔗 **依赖关系** — 前置任务约束、关键路径计算、依赖连线可视化 - 📁 **项目管理** — 多项目支持、分组管理、项目搜索、复制/重命名 - ↩️ **撤销/重做** — 完整操作历史,支持快捷键 - 📤 **导入导出** — JSON 数据导入导出、PNG/SVG 图表导出 - 🌍 **国际化** — 中英文双语支持 - 💾 **本地存储** — SQLite 数据库,数据完全离线,无需账号 --- > 📊 **Gantt Chart View** — Day/Week/Month/Quarter zoom, dual timeline (planned vs actual) > 📋 **Task Management** — Unlimited hierarchy, drag-and-drop reorder, milestones, progress tracking > 🔗 **Dependencies** — Predecessor constraints, critical path calculation, dependency arrows > 📁 **Project Management** — Multi-project, group management, search, duplicate/rename > ↩️ **Undo/Redo** — Full operation history with keyboard shortcuts > 📤 **Import/Export** — JSON data import/export, PNG/SVG chart export > 🌍 **i18n** — English & Chinese > 💾 **Local Storage** — SQLite database, fully offline, no account required --- ## 技术栈 | Tech Stack | 层 Layer | 技术 Technology | |-----------|-----------------| | 🖥️ 桌面框架 Desktop | [Tauri v2](https://v2.tauri.app/) | | ⚛️ 前端 Frontend | React 18 + TypeScript + Tailwind CSS 3 | | 🦀 后端 Backend | Rust + SQLite (rusqlite) | | 🗂️ 状态管理 State | Zustand v5 | | 🎨 图标 Icons | Lucide React | | 📦 包管理 Package | pnpm + Vite 6 | --- ## 快速开始 | Quick Start ### 环境要求 | Prerequisites - **Node.js** >= 18 - **pnpm** >= 8 - **Rust** >= 1.70 (with `rustup`) - **macOS** / **Windows** / **Linux** ### 开发模式 | Development ```bash # 安装依赖 | Install dependencies pnpm install # 启动开发服务器 | Start dev server pnpm tauri dev ``` ### 构建打包 | Build ```bash # macOS pnpm tauri build # Windows (需交叉编译工具链 | requires cross-compilation toolchain) pnpm tauri build --target x86_64-pc-windows-gnu ``` --- ## 项目结构 | Project Structure ``` zGantt/ ├── src/ # 前端源码 | Frontend source │ ├── components/ │ │ ├── gantt/ # 甘特图组件 | Gantt chart │ │ │ ├── GanttChart.tsx # 主甘特图画布 | Main canvas │ │ │ └── BarTooltip.tsx # 任务条提示 | Bar tooltip │ │ ├── layout/ # 布局组件 | Layout │ │ │ ├── AppShell.tsx # 应用外壳 (侧栏+主区域+详情) | App shell │ │ │ ├── Toolbar.tsx # 工具栏 | Toolbar │ │ │ └── StatusBar.tsx # 状态栏 | Status bar │ │ ├── project/ # 项目管理 | Project management │ │ │ ├── ProjectListHome.tsx # 首页项目列表 | Home page │ │ │ ├── ProjectMenu.tsx # 新建/打开对话框 | New/Open dialog │ │ │ ├── ExportDialog.tsx # 图表导出 | Chart export │ │ │ └── ImportExportDialog.tsx # 数据导入导出 | Data import/export │ │ ├── task/ # 任务组件 | Task components │ │ │ ├── TaskList.tsx # 任务列表侧栏 | Task list sidebar │ │ │ ├── TaskRow.tsx # 任务行 | Task row │ │ │ └── TaskDetail.tsx # 任务详情面板 | Task detail panel │ │ └── ui/ # UI 基础组件 | UI primitives │ ├── stores/ # Zustand 状态管理 | State stores │ ├── lib/ # 工具函数 | Utilities │ │ ├── scheduling.ts # 调度计算 | Scheduling engine │ │ ├── criticalPath.ts # 关键路径 | Critical path │ │ ├── dependencyArrows.ts # 依赖连线 | Dependency arrows │ │ └── gantt.ts # 甘特图渲染 | Gantt rendering │ ├── hooks/ # 自定义 Hooks | Custom hooks │ ├── i18n/ # 国际化 | i18n │ └── types/ # TypeScript 类型 | Type definitions ├── src-tauri/ # Rust 后端 | Rust backend │ ├── src/ │ │ ├── commands/ # Tauri 命令处理器 | Command handlers │ │ ├── db/ # 数据库层 | Database layer │ │ │ ├── migrations.rs # 数据库迁移 | Schema migrations │ │ │ ├── project_repo.rs # 项目数据访问 | Project repository │ │ │ ├── task_repo.rs # 任务数据访问 | Task repository │ │ │ ├── dependency_repo.rs # 依赖数据访问 | Dependency repository │ │ │ └── group_repo.rs # 分组数据访问 | Group repository │ │ ├── models/ # 数据模型 | Data models │ │ ├── lib.rs # 命令注册 | Command registration │ │ └── main.rs # 入口 | Entry point │ ├── Cargo.toml │ └── tauri.conf.json # Tauri 配置 | Tauri config ├── wiki/ # 项目文档 | Project documentation │ ├── bugs/ # Bug 记录 | Bug records │ ├── decisions/ # 技术决策 | Architecture decisions │ ├── lessons/ # 经验教训 | Lessons learned │ ├── reference/ # 参考资料 | References │ └── requirements/ # 需求文档 | Requirements └── raw/ # 原始需求/Bug 草稿 | Drafts ``` --- ## 开发命令 | Dev Commands | 命令 Command | 说明 Description | |-------------|------------------| | `pnpm install` | 安装前端依赖 | Install frontend deps | | `pnpm dev` | 启动 Vite 开发服务器 | Start Vite dev server | | `pnpm tauri dev` | 启动 Tauri 开发模式(含热重载)| Start Tauri with hot reload | | `pnpm tauri build` | 构建生产版本 | Build for production | | `pnpm build` | 仅构建前端 | Build frontend only | | `npx tsc --noEmit` | TypeScript 类型检查 | Type check | | `cargo check` | Rust 编译检查(在 src-tauri 目录)| Rust check (in src-tauri) | --- ## 快捷键 | Keyboard Shortcuts | 快捷键 Shortcut | 功能 Action | |----------------|-------------| | `Ctrl+N` | 新建项目 | New Project | | `Ctrl+O` | 打开项目 | Open Project | | `Ctrl+W` | 关闭项目 | Close Project | | `Ctrl+Z` | 撤销 | Undo | | `Ctrl+Shift+Z` | 重做 | Redo | --- ## License MIT