Commit Graph

3 Commits

Author SHA1 Message Date
鄭沛軒 6b66c56adc refactor: 移除冗餘接口文件,簡化架構並重新組織測試結構
- 刪除重複的接口定義文件,採用具體實現類
- 重新組織測試項目結構,建立 Unit 測試分類
- 新增 Contracts 目錄統一管理資料契約
- 更新服務注入配置,簡化依賴關係
- 修復相關控制器和服務的類型引用

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 23:45:25 +08:00
鄭沛軒 ce0455df3d feat: 實現詞彙完全掌握時自動更新複習時間功能
## 後端改進
- 新增 POST /flashcards/{id}/mastered 簡化API端點
- 實作 MarkWordMasteredAsync 方法,專門處理詞彙掌握
- 修復 GetOrCreateReviewAsync 立即保存新記錄問題
- 使用 2^成功次數 演算法計算下次複習間隔

## 前端整合
- 更新 useReviewSession 支援詞彙級別完成檢測
- 新增 checkWordCompleteAndCorrect 檢查所有測驗項目
- 實作 submitWordCompletion 自動提交詞彙掌握
- 新增 markWordMastered API 方法呼叫簡化端點
- 改用真實後端資料替代靜態測試資料

## 核心功能
- 詞彙所有測驗(flip-card + vocab-choice)完成且全對時自動觸發
- 背景呼叫 /mastered API 更新複習演算法
- Console 顯示詳細掌握訊息和新複習時間
- 容錯設計:API失敗不影響複習流程繼續

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-07 00:29:53 +08:00
鄭沛軒 e8ab42dfd7 feat: 實現 /api/flashcards/due API 完整功能
 新增功能
- 建立 FlashcardReview 實體與資料庫表格
- 實現間隔重複算法 (2^n 天公式)
- 支援信心度評估系統 (0=答錯, 1-2=答對)
- 完整的複習統計與進度追蹤

🔧 技術實作
- FlashcardReviewRepository: 優化查詢避免 SQLite APPLY 限制
- ReviewService: 業務邏輯與算法實現
- FlashcardsController: 新增 GET /due 和 POST /{id}/review 端點
- 資料庫遷移與索引優化

📊 API 功能
- 支援查詢參數: limit, includeToday, includeOverdue, favoritesOnly
- 返回格式完全兼容前端 api_seeds.json 結構
- 包含完整 reviewInfo 複習狀態信息
- API 已測試確認在 http://localhost:5000 正常運作

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-06 20:49:40 +08:00