# Jarvis **Repository Path**: urming/jarvis ## Basic Information - **Project Name**: Jarvis - **Description**: 我的项目管理者 - **Primary Language**: NodeJS - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-25 - **Last Updated**: 2025-12-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Jarvis 项目管理工具 Jarvis是一个集项目管理、任务跟踪和Jira集成于一体的工具,旨在提高团队协作效率。 ## 功能特性 - 项目管理与跟踪 - 任务分配与进度监控 - 目标设定与管理 - 反馈收集与处理 - Jira集成(同步项目和任务) ## 桌面应用支持 我们现在提供桌面应用版本,具有以下特点: - 一键启动前后端服务 - 桌面图标快捷启动 - 系统托盘支持 - 跨平台支持 (Windows, macOS, Linux) ### 快速启动 #### 使用启动脚本 我们提供了启动脚本,只需双击即可启动应用: - Windows: 双击 `start-jarvis.bat` - macOS/Linux: 打开终端,执行 `./start-jarvis.sh`(首次使用前需执行 `chmod +x start-jarvis.sh` 添加执行权限) #### 使用npm命令 ```bash # 一键启动前端、后端和Electron应用 npm run dev ``` ## 项目结构 ### 后端目录结构 (`/backend`) - **`/models`**: 数据库模型和连接 - `database.js`: 数据库初始化和连接管理 - **`/routes`**: API路由处理 - `projects.js`: 项目管理API (创建、读取、更新、删除项目) - `tasks.js`: 任务管理API (创建、分配、更新任务状态) - `goals.js`: 目标管理API (创建、跟踪、完成目标) - `feedback.js`: 反馈管理API (收集、处理反馈) - `jira.js`: Jira集成API (连接Jira、同步项目和任务) - `bitbucket.js`: Bitbucket集成API (连接Bitbucket、搜索任务文件) - **`/data`**: 数据存储 - `jarvis.db`: SQLite数据库文件 - **`/utils`**: 工具函数 - `db-migrate.js`: 数据库迁移脚本 - `migrate-old-db.js`: 旧数据库迁移工具 - `bitbucket-api.js`: Bitbucket API交互工具 - **主要文件**: - `index.js`: 应用入口点,设置Express服务器和路由 - `jira-mcp.js`: Jira MCP (Model Context Protocol) 集成 - `jira-field-test.js` & `jira-jql-test.js`: Jira API测试工具 - `test-bitbucket.js`: Bitbucket API测试工具 ### 前端目录结构 (`/frontend`) - **`/src`**: 源代码 - **`/components`**: 可复用组件 - `BaseCard.vue`: 基础卡片组件 - `CardGrid.vue`: 卡片网格布局 - `NotificationSystem.vue`: 通知系统 - `PageLoader.vue`: 页面加载动画 - `ResponsiveTable.vue`: 响应式数据表格 - `SearchFilter.vue`: 搜索和过滤组件 - `SkeletonLoader.vue`: 骨架屏加载组件 - `ThemeSwitcher.vue`: 主题切换器 - **`/views`**: 页面组件 - `HomeView.vue`: 主页 - `AboutView.vue`: 关于页面 - `ProjectsView.vue`: 项目列表页面 - `ProjectDetailView.vue`: 项目详情页面 - `JiraSettingsView.vue`: Jira设置页面 - `JiraImportView.vue`: Jira导入页面 - `BitbucketSettingsView.vue`: Bitbucket设置页面 - **`/router`**: 路由配置 - `index.ts`: 定义应用路由和导航守卫 - **`/stores`**: Pinia状态管理 - **`/services`**: API服务 - **`/utils`**: 工具函数 - **`/config`**: 配置文件 - **`/assets`**: 静态资源 ### 桌面应用相关文件 - **`/electron`**: Electron相关文件 - `main.js`: Electron主进程 - `preload.js`: 预加载脚本 - `icon.png`: 应用图标 - `package.json`: 项目配置(根目录) - `start-jarvis.bat`: Windows启动脚本 - `start-jarvis.sh`: Linux/macOS启动脚本 ## 功能模块说明 ### 1. 项目管理模块 **后端**: `/backend/routes/projects.js` **前端**: `/frontend/src/views/ProjectsView.vue`, `/frontend/src/views/ProjectDetailView.vue` 功能包括: - 创建和管理项目 - 设置项目截止日期和优先级 - 跟踪项目进度 - 查看项目详细信息和关联任务 ### 2. 任务管理模块 **后端**: `/backend/routes/tasks.js` **前端**: 在`ProjectDetailView.vue`中集成 功能包括: - 创建和分配任务 - 更新任务状态和进度 - 设置任务优先级和截止日期 - 关联任务到特定项目 ### 3. 目标管理模块 **后端**: `/backend/routes/goals.js` **前端**: 集成在主要视图中 功能包括: - 设定个人和团队目标 - 跟踪目标完成进度 - 将目标与项目和任务关联 ### 4. 反馈管理模块 **后端**: `/backend/routes/feedback.js` **前端**: 集成在多个视图中 功能包括: - 收集用户反馈 - 分类和处理反馈 - 跟踪反馈状态 ### 5. Jira集成模块 **后端**: `/backend/routes/jira.js` **前端**: `/frontend/src/views/JiraSettingsView.vue`, `/frontend/src/views/JiraImportView.vue` 功能包括: - 连接到Jira API - 导入Jira项目和任务 - 同步Jira状态更新 - 配置Jira集成设置 - 使用JQL搜索Jira问题 ### 6. Bitbucket集成模块 **后端**: `/backend/routes/bitbucket.js`, `/backend/utils/bitbucket-api.js` **前端**: `/frontend/src/views/BitbucketSettingsView.vue`, `/frontend/src/views/JiraImportView.vue` 功能包括: - 连接到Bitbucket API - 搜索Jira任务相关的Git任务文件 - 配置Bitbucket集成设置 ## 数据库结构 Jarvis使用SQLite数据库存储数据,主要表包括: 1. **projects**: 存储项目信息 - 项目名称、描述、状态、截止日期等 2. **tasks**: 存储任务信息 - 任务标题、描述、状态、优先级、分配人等 3. **goals**: 存储目标信息 - 目标名称、描述、进度、截止日期等 4. **feedback**: 存储反馈信息 - 反馈内容、类型、状态等 5. **jira_config**: 存储Jira集成配置 - API URL、认证信息、默认项目等 6. **bitbucket_config**: 存储Bitbucket集成配置 - API URL、用户名、App Password、工作区、仓库等 ## 安装说明 ### 前提条件 - Node.js (v14+) - npm (v6+) ### 安装步骤 1. 克隆仓库 ``` git clone https://github.com/yourusername/jarvis.git cd jarvis ``` 2. 安装所有依赖 ``` npm install ``` ## 运行应用 ### 使用桌面应用模式 ```bash # 一键启动前端、后端和Electron npm run dev ``` ### 分别启动服务 1. 启动后端服务 ``` cd backend npm start ``` 2. 启动前端应用 ``` cd frontend npm run dev ``` ## Jira集成指南 ### 设置Jira API密钥 1. 登录你的Atlassian账户 2. 访问 https://id.atlassian.com/manage-profile/security/api-tokens 3. 点击"创建API令牌" 4. 为令牌提供一个有意义的标签(如"Jarvis集成") 5. 点击"创建"并复制生成的令牌 ### 在Jarvis中配置Jira 1. 在Jarvis应用中,导航到"Jira设置"页面 2. 填写以下信息: - Jira实例URL(例如:https://your-domain.atlassian.net) - 默认URL:https://jira.logisticsteam.com - 电子邮件地址(与你的Atlassian账户关联的邮箱) - API密钥(刚才生成的令牌) - 项目Key(可选,设置默认项目) 3. 点击"保存配置" 4. 点击"测试连接"确认配置正确 ### 使用Jira集成 成功配置后,您可以: - 浏览和搜索Jira问题 - 将Jira项目导入Jarvis - 创建新的Jarvis任务并同步到Jira ## Bitbucket集成指南 ### 设置Bitbucket App Password 1. 登录你的Bitbucket账户 2. 访问用户设置 -> App passwords 3. 创建新的App Password,确保勾选`repositories:read`权限 4. 复制生成的App Password ### 在Jarvis中配置Bitbucket 1. 在Jarvis应用中,导航到"Bitbucket设置"页面 2. 填写以下信息: - API URL(默认:https://api.bitbucket.org/2.0) - 用户名(Bitbucket账号用户名) - App Password(刚才生成的密钥) - 工作区名称(如logisticsteam-dev) - 仓库名称(如unis.crm) 3. 点击"保存配置" 4. 点击"测试连接"确认配置正确 ## 常见问题解决 ### Jira连接失败 如果测试连接失败,请检查: 1. **认证问题**:确保电子邮件和API密钥正确无误 2. **URL格式**:确保Jira实例URL格式正确(例如:https://your-domain.atlassian.net) 3. **权限问题**:确保API密钥有足够的权限访问Jira 4. **CAPTCHA验证**:如果遇到CAPTCHA挑战,请先在浏览器中登录Jira,完成验证后再尝试连接 ### Bitbucket连接失败 如果测试连接失败,请检查: 1. **认证问题**:确保用户名和App Password正确无误 2. **App Password格式**:确保使用的是App Password而非普通密码(通常以ATBB开头) 3. **权限问题**:确保App Password有足够的权限(至少需要repositories:read) 4. **工作区和仓库名称**:确保工作区和仓库名称正确 ### 数据库文件在哪里? 默认情况下,数据库文件位于`backend/data`目录中。在桌面应用中,为确保数据持久化,数据库文件将存储在用户数据目录。 ### 如何重置应用? 删除`backend/data/jarvis.db`文件,然后重启应用。 ### 应用无法启动怎么办? 检查日志文件,或尝试单独启动前后端服务来定位问题。 ## 贡献指南 欢迎提交问题报告和功能请求!如果您想贡献代码,请遵循以下步骤: 1. Fork仓库 2. 创建功能分支 (`git checkout -b feature/amazing-feature`) 3. 提交更改 (`git commit -m '添加了一些功能'`) 4. 推送到分支 (`git push origin feature/amazing-feature`) 5. 开启Pull Request ## 许可证 本项目采用MIT许可证 - 详情请参阅LICENSE文件