# 南瓜的万事屋rust **Repository Path**: ngcb/pumpkins-everything-house-rust ## Basic Information - **Project Name**: 南瓜的万事屋rust - **Description**: rust版本 - **Primary Language**: Rust - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-05-27 - **Last Updated**: 2026-11-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🎃 南瓜的万事屋 团队协作事务管理平台(B/S 架构)。参考 TAPD 风格,支持 AI 大模型辅助管理。 ## 技术栈 | 层 | 技术 | |---|------| | 后端 | Rust (Axum) | | 前端 | React + TypeScript + MUI + Tailwind CSS + Zustand | | 数据库 | SQLite (rusqlite, bundled) | | AI | OpenAI 兼容 API(自定义 Endpoint + Key) | ## 功能 - 📋 **任务管理** — CRUD + 状态流转(待办→进行中→已完成→阻碍)+ 看板拖拽 + 进展时间线 - 📁 **项目管理** — 项目分组 + 归档 - 🤖 **AI Agent** — 自然语言增删改查,操作预览确认,对话历史 - 📥 **文件导入** — xlsx/csv/json/txt/md → AI 解析 → 预览确认 → 批量导入 - 📊 **周报** — 日期范围筛选变更条目,导出 Excel - 💾 **数据管理** — JSON/CSV 导出 + SQLite 备份 + Token 用量统计 - 🔐 **用户认证** — JWT 登录 + 邮箱密码重置 + 用户管理 - 📝 **笔记** — Markdown 笔记 + 关联项目/任务 - 🔗 **MCP 协议** — Model Context Protocol 集成,支持外部 AI 工具调用 ## 项目结构 ``` nangua-wanshiwu/ ├── src/ # React 前端 │ ├── components/ # UI 组件 │ ├── pages/ # 页面 │ ├── stores/ # Zustand 状态管理 │ ├── hooks/ # 自定义 Hooks │ └── types/ # TypeScript 类型 ├── server/ # Rust 后端 (Axum) │ ├── src/ │ │ ├── handlers/ # 路由处理器 │ │ ├── middleware/ # 中间件(JWT 认证) │ │ ├── models/ # 数据模型 │ │ ├── services/ # 业务服务(邮件等) │ │ └── db/ # 数据库迁移 │ ├── Cargo.toml │ └── config.toml # 默认配置文件 ├── mobile/ # React Native (Expo) 移动端 App ├── docs/ # 文档 ├── deploy.sh # 一键部署脚本(Ubuntu/Debian) ├── dev.ps1 # Windows 开发调试脚本 ├── package.json └── vite.config.ts ``` ## 快速开始 ### 环境要求 - [Rust](https://rustup.rs/) ≥ 1.85 - [Node.js](https://nodejs.org/) ≥ 18 - Windows: Visual Studio Build Tools (C++ workload) 或 MinGW-w64 - Linux: Ubuntu 22.04+ / Debian 12+ ### Windows 调试运行 一键编译并启动 Web 服务: ```powershell .\dev.ps1 ``` 脚本自动检测环境、安装依赖、编译前后端,启动服务器于 `http://localhost:3000`。 热重载开发模式(前后端自动重启): ```powershell .\dev.ps1 -Dev ``` 可选参数: | 参数 | 说明 | |------|------| | `-Release` | Release 模式编译后端(默认 Debug) | | `-SkipFrontend` | 跳过前端编译 | | `-SkipBackend` | 跳过后端编译 | | `-Dev` | 热重载开发模式(Vite + cargo run 并行) | ### Linux 开发模式 ```bash # 安装前端依赖 npm install # 启动前端开发服务器(端口 5173,自动代理 /api 到 3000) npm run dev # 启动后端开发服务器(端口 3000) cd server cargo run ``` ### 一键部署(生产环境) ```bash sudo bash deploy.sh install ``` ### 手动构建 ```bash # 构建前端(产物在 dist/) npm install npm run build # 构建后端(产物在 server/target/release/) cd server cargo build --release ``` ## 配置 配置文件 `server/config.toml`: ```toml [server] host = "0.0.0.0" port = 3000 [database] type = "sqlite" sqlite_path = "data/nangua.db" [auth] jwt_secret = "请修改为随机字符串" jwt_expiry_hours = 24 [email] smtp_host = "smtp.example.com" smtp_port = 587 smtp_username = "noreply@example.com" smtp_password = "" sender_name = "南瓜的万事屋" from_address = "noreply@example.com" [app] allow_registration = false static_dir = "./static" [logging] dir = "./logs" level = "info" retention_days = 30 ``` ## 移动端 App 独立的移动端应用位于 `mobile/` 目录,使用 React Native + Expo 构建,支持 iOS / Android。 - 首次启动可自定义输入后端部署地址(如 `http://ncoffice.x3322.net:19960/`) - 已适配后端 CORS,默认配置已加入 `"*"` 以兼容任意来源 - 支持任务/项目/笔记的查看、创建、编辑与状态流转 - 支持进展记录与评论 快速开始: ```bash cd mobile npm install npx expo start ``` 更多说明见 [mobile/README.md](mobile/README.md)。 ## 数据存储 数据库文件 `nangua.db` 存储于 `server/data/` 目录下。 `deploy.sh update` 会在更新前自动备份数据库到 `/opt/nangua-wanshiwu-backups/`。