文档: - architecture.md - 整体架构、心智模型、关键设计原则 - decisions.md - 16条关键决策记录(含为什么) - workflow.md - 工作流程和协作偏好 - roadmap.md - V1/V2/V3 路线图和已完成清单 修复项目详情版本记录: 1. 状态胶囊数据联动(开发中分支也补传 stageProgress) 2. 日期数据联动: - 实际开始 = 取所有阶段最早 actualStartAt/startDate/startedAt - 实际截止 = 取所有阶段最晚 completedAt/closedAt - 数据完全和版本详情一致 VersionCard 的 versionData useMemo 增加 actualStart/actualEnd 派生字段, 两种状态分支(developing/released)都使用派生值,不再用静态 version.startDate Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
101 lines
4.1 KiB
Markdown
101 lines
4.1 KiB
Markdown
# 开发路线图
|
||
|
||
## 当前阶段:V1 — 前端 Mock + 业务流程打磨
|
||
|
||
所有数据用 localStorage 持久化,重点验证业务模型和交互。
|
||
|
||
### 已完成(按时间倒序)
|
||
|
||
**2026-06-16**
|
||
- 项目模块顶部卡片(总版本数/已开发/需求数/Bug 总数)
|
||
- 项目模块版本记录与版本详情数据联动(耗时 + 状态胶囊)
|
||
- 4 份核心文档:architecture / decisions / workflow / roadmap
|
||
|
||
**2026-06-15**
|
||
- 与我相关:产品/项目/版本树筛选 + 红色待办徽标
|
||
- 与我相关:点击卡片打开 Drawer(PlanDetailDrawer 新建,DevTask/TestCase/Bug 复用)
|
||
- 全局 Drawer 阴影统一 shadow-2xl + 顶部上下文条
|
||
- 测试用例提 Bug 流程:drawer 内点击 → BugCreateModal
|
||
- DevTask + TestCase 转交功能(人员离职场景)
|
||
- 需求池:录入人员自动取当前用户 + 状态列改名(业务状态 / 实际进度)
|
||
- 产品页面:去掉规划中、项目名/版本胶囊可点击跳转
|
||
|
||
**2026-06-14**
|
||
- 需求变更模块:变更人员/原因/概述/详细 + 概览统计(变更人员排名 + 原因占比饼图)
|
||
- 计划任务转交(未开始/进行中可转交,从参与人员选)
|
||
- 关联需求增强:描述列 hover 完整内容、需求类型/变更原因/添加日期列
|
||
- 计划时间精确到分钟(datetime-local)+ 到期自动开始
|
||
- 阶段耗时 + 个人耗时排名(涵盖调研/产品/UI/开发/测试 5 类工作)
|
||
|
||
**2026-06-13**
|
||
- DevTask 状态简化:去掉 done,submitted 是终态
|
||
- 实际工时改为精确时间戳计算(精确到 0.5h)
|
||
- TestCase 主归属版本,requirement 改为可选标签
|
||
- Bug 直接挂版本(versionId 字段)
|
||
- linkage-engine(需求 ↔ DevTask 派生)
|
||
- workspace-engine(统一 WorkItem 聚合)
|
||
|
||
**2026-06-12 及更早**
|
||
- 完整模块:需求池/版本管理/计划任务(调研/产品/UI)/开发任务/测试用例/Bug
|
||
- 加班记录 + 排名 + 原因占比饼图
|
||
- 健康度计算 + 风险标签
|
||
- 版本执行态自动推导
|
||
|
||
### 进行中
|
||
|
||
- 项目详情页 VersionCard 状态胶囊数据联动(部分已完成)
|
||
|
||
## V2 — 后端接入
|
||
|
||
NestJS + Prisma + PostgreSQL Schema 已设计,等业务流程稳定后开始迁移。
|
||
|
||
### 关键任务
|
||
|
||
1. **运行 Prisma migration**:把现有的 lib/*.ts 类型转为 Prisma schema
|
||
2. **API 层**:每个 store 对应一组 CRUD endpoint
|
||
3. **localStorage → API 切换**:保留 localStorage 作为离线缓存
|
||
4. **认证**:NextAuth.js + JWT
|
||
5. **权限**:RBAC(Owner/Admin/Member/Viewer),按项目/版本级别
|
||
|
||
### 数据迁移策略
|
||
|
||
提供管理员脚本把当前用户的 localStorage 数据导出为 SQL,导入到 PostgreSQL。
|
||
|
||
## V3 — AI 集成
|
||
|
||
### 已规划场景
|
||
|
||
1. **需求智能分解**:输入需求描述,AI 拆解为子任务(技术分析+UI 调整+联调+测试)
|
||
2. **风险预警**:自动识别延期/阻塞集中/工时偏差大的任务,提前预警
|
||
3. **排期建议**:基于成员负载和历史耗时,建议下一阶段任务分配
|
||
4. **需求转任务**:需求采纳后一键生成 DevTask 草稿
|
||
5. **健康度智能解读**:把数据指标转化为自然语言报告
|
||
|
||
### 落地方式
|
||
|
||
`apps/server/src/modules/ai/`:
|
||
- `AiGateway` — 统一 prompt 管理、token 计量、降级
|
||
- `AiTaskService.decompose(description)`
|
||
- `AiRiskService.analyze(projectId)`
|
||
- `AiScheduleService.suggest(projectId)`
|
||
- `AiLog` 表存调用记录,便于审计
|
||
|
||
## 不在路线图(明确不做)
|
||
|
||
- **Jira/TAPD 替代品**:定位是产品/项目经理视角,不是开发任务管理
|
||
- **测试套件/测试计划**:测试用例是版本验收手段,不做完整测试管理
|
||
- **Gantt 甘特图**:现有的胶囊状态条 + 阶段耗时已经够用
|
||
- **看板视图**:DevTask 列表 + 筛选 + 状态流转已够用
|
||
- **回归测试**:测试用例不做版本间复用
|
||
- **客户/合同管理**:超出研发管理边界
|
||
|
||
## 关键里程碑
|
||
|
||
| 节点 | 状态 |
|
||
|------|------|
|
||
| V1 业务流程打磨 | 进行中 |
|
||
| V1 朋友试用反馈 | 持续中 |
|
||
| V2 后端接入 | 等 V1 稳定 |
|
||
| V3 AI 集成 | 等 V2 数据沉淀 |
|
||
| 公开发布 | TBD |
|