docs+fix: 4份核心文档 + 项目模块版本记录数据全联动

文档:
- 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>
This commit is contained in:
Script Generator
2026-06-16 12:40:10 +08:00
parent 4b05e09dab
commit 6d2f6d8b9f
5 changed files with 534 additions and 4 deletions

100
docs/roadmap.md Normal file
View File

@@ -0,0 +1,100 @@
# 开发路线图
## 当前阶段V1 — 前端 Mock + 业务流程打磨
所有数据用 localStorage 持久化,重点验证业务模型和交互。
### 已完成(按时间倒序)
**2026-06-16**
- 项目模块顶部卡片(总版本数/已开发/需求数/Bug 总数)
- 项目模块版本记录与版本详情数据联动(耗时 + 状态胶囊)
- 4 份核心文档architecture / decisions / workflow / roadmap
**2026-06-15**
- 与我相关:产品/项目/版本树筛选 + 红色待办徽标
- 与我相关:点击卡片打开 DrawerPlanDetailDrawer 新建DevTask/TestCase/Bug 复用)
- 全局 Drawer 阴影统一 shadow-2xl + 顶部上下文条
- 测试用例提 Bug 流程drawer 内点击 → BugCreateModal
- DevTask + TestCase 转交功能(人员离职场景)
- 需求池:录入人员自动取当前用户 + 状态列改名(业务状态 / 实际进度)
- 产品页面:去掉规划中、项目名/版本胶囊可点击跳转
**2026-06-14**
- 需求变更模块:变更人员/原因/概述/详细 + 概览统计(变更人员排名 + 原因占比饼图)
- 计划任务转交(未开始/进行中可转交,从参与人员选)
- 关联需求增强:描述列 hover 完整内容、需求类型/变更原因/添加日期列
- 计划时间精确到分钟datetime-local+ 到期自动开始
- 阶段耗时 + 个人耗时排名(涵盖调研/产品/UI/开发/测试 5 类工作)
**2026-06-13**
- DevTask 状态简化:去掉 donesubmitted 是终态
- 实际工时改为精确时间戳计算(精确到 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. **权限**RBACOwner/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 |