dramaling-vocab-learning/note/複習系統/產品需求規格.md

5.1 KiB
Raw Blame History

複習系統產品需求規格書 (MVP版本)

版本: 1.0 MVP 日期: 2025-10-03 策略: 階段性開發,避免過度工程 當前狀態: 極簡MVP已完成


🎯 產品願景

核心價值主張

幫助用戶通過翻卡記憶快速有效地複習詞彙,提升學習效率。

設計理念

  • 簡單可用 > 功能完整
  • 用戶驗證 > 假設需求
  • 迭代進化 > 一次到位
  • 真實反饋 > 完美設計

🚀 階段1: 極簡MVP (當前版本)

US-001: 基礎翻卡記憶

作為 想複習詞彙的學習者 我希望 能夠翻卡查看詞彙內容並評估自己的熟悉程度 以便 測試和強化我的詞彙記憶

實作狀態: 已完成 技術路徑: /review-simple

核心功能清單

  • 3D翻卡動畫和互動
  • 詞彙內容顯示 (定義、例句、同義詞)
  • 信心度評估 (1-5級)
  • 基礎進度追蹤
  • 完成統計結果

🎯 階段2: 線性雙測驗流程

US-002: 線性複習流程

作為 想要高效複習的學習者 我希望 系統自動安排複習順序和測驗類型 以便 無需思考如何複習,專注於學習本身

核心設計原則:

  • 🔄 線性流程 - 用戶不需要選擇,系統決定下一步
  • 📚 固定模式 - 每張詞卡必須完成兩種測驗
  • 自動進行 - 完成一個測驗自動進入下一個

詳細流程規格

2.1 測驗項目生成

詞卡A → [翻卡記憶, 詞彙選擇]
詞卡B → [翻卡記憶, 詞彙選擇]
詞卡C → [翻卡記憶, 詞彙選擇]
...

線性序列: A翻卡 → A選擇 → B翻卡 → B選擇 → C翻卡 → C選擇 → ...

2.2 狀態追蹤架構

interface TestItem {
  id: string              // 測驗項目ID
  cardId: string          // 所屬詞卡ID
  testType: 'flip-card' | 'vocab-choice'
  isCompleted: boolean    // 個別測驗完成狀態
  skipCount: number       // 跳過次數
  wrongCount: number      // 答錯次數
  order: number          // 序列順序
}

2.3 進度計算邏輯

  • 測驗項目總數: 詞卡數量 × 2
  • 當前進度: 已完成測驗項目數 / 總測驗項目數
  • 詞卡完成條件: 兩個測驗項目都標記為已完成

2.4 用戶介面流程

  1. 進入複習 → 自動開始第一個測驗項目
  2. 完成測驗 → 自動進入下一個測驗項目
  3. 全部完成 → 顯示整體結果統計

2.5 測驗項目詳細設計

翻卡記憶測驗
  • 目的: 自我評估對詞彙的熟悉程度
  • 互動方式: 點擊翻卡查看定義、例句、同義詞
  • 評分機制: 3級信心度 (模糊0分、一般1分、熟悉2分)
  • 完成條件: 用戶選擇任意信心度
詞彙選擇測驗
  • 目的: 客觀測試詞彙記憶準確性
  • 互動方式: 4選1選擇題根據定義選擇正確詞彙
  • 評分機制: 正確2分、錯誤0分
  • 選項生成: 1個正確答案 + 3個隨機干擾項
  • 完成條件: 用戶點擊任意選項

2.6 延遲計數系統整合

  • 跳過行為: 兩種測驗都支援跳過功能
  • 錯誤處理: 翻卡測驗選擇"模糊"、選擇題答錯都計入錯誤
  • 優先級算法: 跳過次數 + 錯誤次數 = 延遲分數,越高越優先

2.7 進度保存機制

  • 範圍: 個別測驗項目的完成狀態
  • 存儲: localStorage包含測驗項目陣列
  • 恢復: 頁面重新載入時恢復到正確的測驗項目
  • 重置: 跨日期自動重置進度

🎯 階段3: API集成版本 (遠期)

US-003: 真實詞彙庫

作為 想學習更多詞彙的學習者 我希望 能夠複習我收藏的真實詞彙 以便 學習我感興趣的內容

觸發條件:

  • 線性流程驗證成功
  • 有明確需要更多詞彙的用戶反饋
  • 靜態數據已無法滿足需求

📊 成功標準

階段1 MVP成功標準

  • 用戶能完整完成翻卡記憶流程
  • 無功能性錯誤或崩潰
  • 載入時間 < 2秒
  • 延遲計數系統運作正常

階段2 線性流程成功標準

  • 測驗項目自動線性進行,無需用戶選擇
  • 每張詞卡的兩種測驗都正確執行
  • 延遲計數系統適用於兩種測驗類型
  • 進度顯示反映真實的測驗項目完成狀態
  • localStorage 保存/恢復測驗項目狀態
  • 整體複習完成後顯示統合結果

驗收條件 (Definition of Done)

  • 用戶進入 /review-simple 自動開始第一個測驗項目
  • 完成翻卡記憶後自動切換到詞彙選擇測驗
  • 完成詞彙選擇後自動進入下一張詞卡的翻卡記憶
  • 進度條顯示 已完成測驗項目 / 總測驗項目
  • 延遲計數在兩種測驗間正確傳遞和累積
  • 頁面刷新能恢復到正確的測驗項目位置

避免的功能 (Out of Scope)

用戶手動選擇測驗類型 智能排程算法 複雜狀態管理架構 測驗順序自定義

參考: 技術實作規格.md開發控制規範.md 詳細規定