Files
ballet-server/.scratch/ballet-practice-v1/map.md
T
yuxuanhui 6224ef5980 feat: add growth tracking page and related functionality
- Implemented a new Growth page to track practice time and trends.
- Added API integration for fetching review data.
- Created components for displaying practice statistics and trends.
- Updated navigation titles for the main index and growth pages.
- Removed unused styles from the index page.
- Introduced a Projects management page for adding and editing practice projects.
- Developed a Record form for logging practice sessions with validation.
- Added utility functions for date manipulation and duration formatting.
- Implemented error handling and session management in the practice service.
- Created unit tests for the practice service to ensure reliability.
2026-09-29 13:47:26 +08:00

46 lines
4.5 KiB
Markdown

# 芭蕾岛第一期:练习记录与成长回顾
Labels: wayfinder:map
Status: open
Created: 2026-09-28
## Destination
明确面向已有线下课或跟练内容的芭蕾爱好者,第一期应保留哪些 iHour 能力、如何适配练习场景,以及核心流程、统计口径和验收边界。地图完成后,后续工作可据此形成实现规格并开发。
## Notes
- 用户已确认第一期主要解决“已有线下课或跟练内容,只需记录练习、回顾成长”。这一定位来自建图对话,不代表具体功能已获确认。
- 本地图只做调研与决策。遵循 wayfinder;人与产品有关的决策结合 grilling、domain-modeling,流程形态通过 prototype 与用户讨论。
- 每次只问一个关键问题;事实由代理查询,取舍由用户确认。候选建议不得写成已决定事项;建图阶段不关闭人工决策票,后续讨论按用户实际确认逐项解决。
- 事实依据分为官方产品资料、用户提供的三张截图、推断。单个用户的分类和使用数据不能代表全部芭蕾爱好者。
- 用户明确要求先调研 iHour,因此先行只读检索,再收录研究票。research 子技能未安装,采用网页检索与官方来源抽查;研究代理只读,主代理保存本地结论,不创建研究提交或切换分支。
- 本仓库按 `docs/agents/issue-tracker.md` 在本地 Markdown 跟踪;依赖使用 `Blocked by`,领取使用 `Status: claimed`。事项详情只保存在各自票中,本文件仅作索引。
- 本任务中的术语与规则以各决策票为准,未决建议继续标注为草案。已确认术语先留在本任务,不修改共享 CONTEXT.md 或 ADR。
- 本轮已收束基础记录与回顾的产品及交互设计。同目录中未参与本轮讨论的其他规划事项保持原状,不据此扩充已确认的第一期范围;整张地图暂不标记为全部完成。
- 已依据已解决事项整理[第一期实现规格](spec.md),状态为 `ready-for-agent`;实现范围、数据规则与验收依据以该规格为入口。
## Decisions so far
<!-- 仅索引已解决事项;未决事项通过 issues/ 中的状态与依赖查找。 -->
- [iHour 的哪些能力支撑练习记录与回顾,截图证明了哪些实际用法?](issues/01-ihour-evidence.md):已核实项目记时、统计和激励能力;截图表明用户按芭蕾项目积累记录,记录时长与专注时长需要区分,具体操作与导入规则仍未证实。
- [第一期如何让上课和自主练习被轻松记下来?](issues/02-recording-flow.md):练后整堂登记,笔记选填;项目可管理且归档保留历史,练习记录允许补记与更正,统计随之更新。
- [练习项目如何组织,才能保留熟悉的课名又不重复计算时间?](issues/03-practice-organization.md):平铺八个可编辑预置项目,改名后历史与统计统一使用新名称,同一条练习记录只累计一次。
- [成长回顾首先应回答哪些问题,并提供怎样的鼓励?](issues/04-growth-review.md):累计、日历、周月趋势和项目分布进入首期;目标、徽章和分享后置。
- [练习记录需要怎样保存,已有 iHour 积累如何衔接?](issues/05-record-continuity.md):微信身份关联云端记录,首期不做旧数据衔接,保留日常补记能力。
- [哪套最小页面与流程能完成记录和回顾?](issues/06-core-flow-prototype.md):用户认可“记录、日历、成长”三个入口与草图操作路径,作为第一期交互设计依据。
- [第一期本地实现与验证](issues/10-v1-implementation.md):后续执行阶段已按规格完成本地代码、真实 PostgreSQL HTTP 集成验证和两端构建;真实微信与设备验收仍待环境配置,未部署、发布或提交。07–09 规划票保持原状。
## Not yet specified
- 产品范围稳定后,识别需要核实的小程序能力限制及实现前置条件。
## Out of scope
- 本轮不实现业务代码、不部署、不发布;这些属于地图完成后的执行阶段。
- 第一期开设或推荐训练内容、自动编排训练计划,不属于用户已确认的“记录已有练习”定位。
- 全量复刻 iHour、多平台原生客户端、商业化体系不属于本地图的目的。
- 第一期的练习目标、成就徽章和分享卡片后置,依据见[成长回顾决策](issues/04-growth-review.md)。
- 第一期不做旧数据衔接,依据见[记录保存与历史衔接决策](issues/05-record-continuity.md)。