# LinguaForge MVP 開發路線圖 ## 階段 0: 專案初始化 (第 1 週) ### 開發環境設置 - [ ] 建立 Git repository 與分支策略 - [ ] 設置開發環境 (Node.js, PostgreSQL, Redis) - [ ] 初始化 React Native 專案 - [ ] 初始化 NestJS 後端專案 - [ ] 設置 Docker 開發環境 - [ ] 配置 ESLint, Prettier - [ ] 設置 CI/CD pipeline (GitHub Actions) ### 基礎架構 - [ ] 設置 PostgreSQL 資料庫 - [ ] 設置 Redis 快取 - [ ] 配置 AWS S3 或 MinIO - [ ] 設置開發/測試環境變數 ## 階段 1: 核心基礎建設 (第 2-3 週) ### 後端基礎 - [ ] 實作使用者認證系統 (JWT) - [ ] 實作使用者註冊/登入 API - [ ] 實作 Refresh Token 機制 - [ ] 設置 API 錯誤處理中間件 - [ ] 實作請求驗證與資料驗證 - [ ] 設置日誌系統 ### 前端基礎 - [ ] 實作導航架構 (React Navigation) - [ ] 建立認證流程 UI - [ ] 實作本地狀態管理 (Redux Toolkit) - [ ] 設置 API 客戶端與攔截器 - [ ] 實作基礎 UI 元件庫 ### 資料庫 - [ ] 執行資料庫遷移腳本 - [ ] 建立基礎資料表 - [ ] 設置資料庫連線池 ## 階段 2: MVP 核心功能 (第 4-6 週) ### 功能 1: AI 詞卡生成 **優先級: P0** - [ ] 整合 Gemini API - [ ] 實作詞卡生成 API 端點 - [ ] 實作句子輸入與單字選取 UI - [ ] 實作詞卡生成請求與顯示 - [ ] 實作詞卡儲存功能 - [ ] 加入生成進度指示器 ### 功能 2: 詞卡管理 **優先級: P0** - [ ] 實作詞卡 CRUD API - [ ] 建立詞卡列表頁面 - [ ] 實作詞卡詳細頁面 - [ ] 實作詞卡搜尋功能 - [ ] 實作詞卡分類/標籤 ### 功能 3: 間隔重複系統 **優先級: P0** - [ ] 實作 SM-2 演算法 - [ ] 建立複習排程系統 - [ ] 實作今日複習 API - [ ] 建立複習介面 UI - [ ] 實作複習評分功能 - [ ] 更新下次複習時間 ## 階段 3: 進階功能 (第 7-9 週) ### 功能 4: 語音評估 **優先級: P1** - [ ] 整合 Microsoft Speech Service - [ ] 實作語音錄製功能 - [ ] 實作語音上傳 API - [ ] 實作評估結果顯示 - [ ] 儲存評估歷史記錄 ### 功能 5: 學習統計 **優先級: P1** - [ ] 實作統計資料 API - [ ] 建立統計儀表板 - [ ] 實作學習連續天數 - [ ] 實作進度圖表 - [ ] 加入成就系統 ### 功能 6: 離線支援 **優先級: P2** - [ ] 實作本地資料庫 (SQLite) - [ ] 實作資料同步機制 - [ ] 實作離線詞卡瀏覽 - [ ] 實作離線複習功能 - [ ] 處理同步衝突 ## 階段 4: 使用者體驗優化 (第 10-11 週) ### UI/UX 改進 - [ ] 實作深色模式 - [ ] 優化載入動畫 - [ ] 加入手勢操作 - [ ] 實作鍵盤快捷鍵 - [ ] 優化表單體驗 ### 效能優化 - [ ] 實作圖片懶載入 - [ ] 優化 API 請求批量處理 - [ ] 實作資料分頁 - [ ] 加入快取策略 - [ ] 優化打包大小 ### 推播通知 - [ ] 整合 FCM - [ ] 實作複習提醒 - [ ] 實作學習報告推播 - [ ] 管理通知偏好設定 ## 階段 5: 測試與部署 (第 12 週) ### 測試 - [ ] 撰寫單元測試 (>70% 覆蓋率) - [ ] 撰寫整合測試 - [ ] 執行端對端測試 - [ ] 效能測試與壓力測試 - [ ] 安全性測試 ### 部署準備 - [ ] 設置生產環境 - [ ] 配置 SSL 憑證 - [ ] 設置監控系統 (Sentry) - [ ] 設置日誌收集 - [ ] 準備部署文檔 ### 發布 - [ ] 提交 App Store - [ ] 提交 Google Play - [ ] 部署後端服務 - [ ] 執行煙霧測試 - [ ] 監控系統穩定性 ## MVP 功能優先級定義 ### P0 - 必須有 (Must Have) 1. 使用者註冊/登入 2. AI 詞卡生成 3. 詞卡管理 (CRUD) 4. 間隔重複複習系統 5. 基本學習進度追蹤 ### P1 - 應該有 (Should Have) 1. 語音評估功能 2. 學習統計儀表板 3. 推播通知提醒 4. 詞卡搜尋與篩選 5. 基本成就系統 ### P2 - 可以有 (Could Have) 1. 離線支援 2. 深色模式 3. 社群分享功能 4. 詞卡匯入/匯出 5. 多語言支援 ### P3 - 未來版本 (Won't Have Now) 1. 遊戲化元素 2. 社群功能 3. AI 個人化推薦 4. 團隊/班級功能 5. 進階分析報告 ## 開發團隊配置建議 ### 最小團隊 (3人) - **全端工程師** x1: 負責前後端開發 - **行動端工程師** x1: 專注 React Native - **UI/UX 設計師** x1: 兼任產品經理 ### 理想團隊 (5人) - **後端工程師** x1: API 與資料庫 - **前端工程師** x2: React Native 開發 - **UI/UX 設計師** x1: 使用者體驗 - **產品經理** x1: 需求管理與測試 ## 風險管理 ### 技術風險 | 風險項目 | 可能性 | 影響 | 緩解措施 | |---------|-------|------|----------| | AI API 成本超支 | 中 | 高 | 設置使用量上限、快取結果 | | 語音識別準確度不足 | 中 | 中 | 提供多次嘗試、人工校正 | | 同步衝突處理複雜 | 高 | 中 | MVP 簡化離線功能 | | App Store 審核被拒 | 低 | 高 | 提前研究規範、準備申訴 | ### 時程風險 - **緩衝時間**: 每個階段預留 20% 緩衝 - **並行開發**: 前後端同時進行 - **優先級管理**: P2/P3 功能可延後 ## 成功指標 (KPI) ### 技術指標 - API 回應時間 < 200ms (P95) - App 啟動時間 < 2秒 - 崩潰率 < 0.1% - 程式碼覆蓋率 > 70% ### 業務指標 - 註冊轉換率 > 30% - 7 日留存率 > 40% - 30 日留存率 > 20% - 每日活躍使用者複習 > 10 張卡片 ## 後續迭代計劃 ### V1.1 (MVP+1個月) - 優化效能問題 - 修復使用者反饋 bug - 加入 P1 遺漏功能 ### V1.2 (MVP+2個月) - 實作訂閱付費系統 - 加入更多語言支援 - 優化 AI 生成品質 ### V2.0 (MVP+6個月) - 社群功能 - 遊戲化系統 - 企業版功能