228 lines
5.5 KiB
Markdown
228 lines
5.5 KiB
Markdown
# 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個月)
|
|
- 社群功能
|
|
- 遊戲化系統
|
|
- 企業版功能 |