docs: 建立项目文档体系(vision/requirements/tech-stack/architecture/coding-rules)

- docs/01-vision        核心目标、目标用户、产品原则、非目标
- docs/02-requirements  产品语言需求 + MVP 验收标准(无技术词)
- docs/03-tech-stack    go-app / 纯CSS / SQLite / Session Cookie / 单二进制部署
- docs/04-architecture  系统结构、前后端职责、真实 episodes.json 数据模型、技术难点
- docs/05-coding-rules  AI 写代码前必读的硬约束(防跑偏)
- CLAUDE.md             AI 入口:文档地图、真实数据 schema、强制必读编码规则

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
ila
2026-06-21 14:03:36 +08:00
co-authored by Claude Opus 4.8
parent 05f215974e
commit fd37ff6383
7 changed files with 501 additions and 0 deletions
+84
View File
@@ -0,0 +1,84 @@
# 需求
> 本文只描述**要什么**与**怎么算达成**,用产品 / 用户语言表达,**不涉及技术实现**。
> 技术方案、数据结构、字段定义见 [架构设计](04-architecture.md);内容数据的字段与校验见 `scripts/`。
## 一、素材现状(产品视角)
| 项 | 状态 |
| --- | --- |
| 音频 | ep1–17 基本齐全;**ep18–26 暂缺音频**(共 9 集只有文稿) |
| 英文文稿 | 26 集逐句英文文稿,且与音频**逐句对齐**(可点句定位) |
| 中文翻译 | 行级暂无;仅每集有中文标题 |
| 视频 | 无(本产品不涉及视频) |
> 音频缺口意味着 MVP 的精听闭环建议先锁定 ep1–17;ep18–26 待补音频后纳入。
## 二、用户角色
- **登录用户**:拥有账号,学习进度与生词本跨设备延续
- 游客是否可浏览:待定(见待确认问题)
## 三、功能清单
### 第一版 MVP(最小闭环)
| 功能 | 用户能做什么 | 优先级 |
| --- | --- | --- |
| 课程列表 | 按集 / 幕浏览课程,看到自己学到哪、学了多少 | P0 |
| 音频播放 | 播放 / 暂停 / 拖动进度 | P0 |
| 逐句同步 | 字幕随音频逐句高亮;点任一句,音频跳到该句重听 | P0 核心 |
| 生词本 | 看到生词点一下加入生词本,随时查看列表 | P0 |
| 账号与同步 | 登录后,换设备进度与生词本仍在 | P0 |
| 离线可用 | 无网时也能继续学已缓存的课程,并可装到主屏 | P0 |
### 后续迭代
| 功能 | 描述 | 阶段 |
| --- | --- | --- |
| 复读 / 精听 | AB 复读、单句循环、变速 | V2 |
| 测验 | 听写 / 选择 / 填空 | V2 |
| 学习打卡 | 记录学到哪、连续天数 | V2 |
| 激励模块 | 「打鸡血」板块:联网时每天推荐一个英语学习成功案例;优先结合用户自身数据(连续天数、精听句数)做真实激励 | V2 |
| 多教材扩展 | 接入新概念英语等更多教材(为多教材预留空间) | V2+ |
| 中英对照 | 补齐行级中文翻译后开启 | V3 |
| 生词复习 | 间隔重复记忆(SRS) | V3 |
## 四、核心用户故事(MVP)
1. 作为学习者,我打开 App 看到课程列表,知道自己学到了哪。
2. 我点进一集,音频开始播放,字幕随之逐句高亮。
3. 有一句没听懂,我点那句字幕,音频跳回那句重听。
4. 遇到生词,我点一下加入生词本。
5. 换了平板登录,我的进度和生词本都还在。
6. 坐地铁没网,我依然能打开已缓存的课程继续学。
## 五、验收标准(MVP · 怎么算做到了)
每条 P0 功能对应可验证的判据(产品语言,不含实现细节):
- **课程列表**:打开即见课程清单,每项显示学习进度(如"2/3 幕"或百分比)。
- **音频播放**:任选一幕能在约 2 秒内开始播放,可暂停、可拖动进度。
- **逐句同步**:播放时高亮的句子与人耳听到的一致;点任一句,音频在约 1 秒内跳到该句开头。
- **生词本**:点词后该词出现在生词本列表;刷新或重进后仍在。
- **账号与同步**:A 设备登录学习后,B 设备登录同一账号能看到相同的进度与生词本。
- **离线可用**:断网后仍能打开已学过的课程并播放;可安装到手机主屏。
## 六、范围边界与决策
| 问题 | 决策 |
| --- | --- |
| 平台优先级 | 大屏手机 / 平板优先,按触控 + 中大屏设计 |
| 是否带账号 | 是,需登录账号 |
| 中英对照 | 第一版纯英文(暂无行级中文),后续补齐再开启 |
| 第一版范围 | 列表 + 播放 + 逐句同步 + 生词本跑通,再加测验 / 打卡 |
| MVP 内容范围 | 先锁定有音频的 ep1–17 |
## 七、待确认 / 风险点
- ❗ **版权**:「走遍美国」素材的使用授权。若公开发布或商用,需确认音频与文稿的授权问题。
- ❗ **逐句同步是核心体验,也是实现上最难的一环**,建议先单独验证原型再往上搭(技术原因见 [架构设计](04-architecture.md))。
- ❗ **内容缺口**:ep18–26 缺音频,需补料;具体清单见数据校验脚本。
- 生词本是否需要查词 / 释义?(MVP 可先只存单词,不接词典)
- ❗ **激励模块内容来源待定**:成功案例库需自行精选、可信,避免空洞鸡汤与版权问题;建议以用户真实进步数据为主、名人真实学语经历为辅。
- 📌 **本项目定位为长期多教材英语学习平台**,「走遍美国」是第一个教材,后续接入新概念英语等。