feat: update project configuration and migrate to Gitea

- Add CLAUDE.md working guidelines for AI assistant
- Update project management tools and scripts
- Reorganize analysis reports with current dates
- Move document consistency checklist to scripts directory
- Update user flow specifications
- Add compliance checking tool

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
鄭沛軒 2025-09-08 12:36:50 +08:00
parent f5bd20406c
commit 4c8d5606a8
13 changed files with 1765 additions and 732 deletions

View File

@ -10,7 +10,12 @@
"Bash(chmod:*)", "Bash(chmod:*)",
"Bash(./scripts/maintenance/create_issue.sh:*)", "Bash(./scripts/maintenance/create_issue.sh:*)",
"Bash(./scripts/maintenance/check_issues.sh:*)", "Bash(./scripts/maintenance/check_issues.sh:*)",
"Bash(./check_issues.sh)" "Bash(./check_issues.sh)",
"Bash(cat:*)",
"Bash(./drama issue)",
"Bash(./drama report \"UI設計缺漏嚴重性評估\")",
"Bash(./drama compliance)",
"Bash(./drama report analysis \"文檔分類組織結構優化\")"
], ],
"deny": [], "deny": [],
"ask": [] "ask": []

142
CLAUDE.md Normal file
View File

@ -0,0 +1,142 @@
# Claude 工作指南 (Claude Working Guidelines)
## 🤖 Claude 協作標準操作程序
本文件為 Claude AI 助手在 Drama Ling 專案中的標準操作程序,確保工作流程的一致性和品質。
## 🛠️ 必須使用的系統工具
### 報告建立
```bash
# ✅ 正確做法:使用系統工具
./drama report analysis "分析主題"
./drama report decision "決策主題"
# ❌ 禁止行為:手動創建報告檔案
# 直接 Write 或 Edit reports/ 目錄下的檔案
```
### 問題管理
```bash
# ✅ 正確做法:使用問題管理工具
./drama issue
# ❌ 禁止行為:直接編輯 ISSUES.md
# 除非是修正現有問題的格式錯誤
```
### 檢查作業
```bash
# ✅ 正確做法:使用檢查工具
./drama check
# 其他維護腳本
./check_consistency.sh
```
## 🎯 核心工作原則
### 1. 工具優先原則
- **必須優先使用現有工具和腳本**
- 手動操作只能用於緊急修正
- 所有報告都必須透過 `./drama report` 創建
### 2. 日期準確性原則
- **系統工具會自動處理日期**
- 當前日期2025-09-07
- 任何手動設定日期都必須使用正確的當前日期
### 3. 文檔整合原則
- 所有問題必須記錄到 ISSUES.md
- 所有分析必須產生正式報告
- 報告必須與問題系統整合
## 📋 標準工作流程
### 分析任務流程
1. **建立分析報告**: `./drama report analysis "主題"`
2. **執行分析工作**: 使用適當工具進行分析
3. **更新報告內容**: 編輯生成的報告檔案
4. **整合問題系統**: 確認相關問題已正確連結
### 問題處理流程
1. **記錄問題**: `./drama issue`
2. **分配優先級**: 🔥緊急 / ⚠️重要 / 📝一般
3. **建立相關報告**: 如有需要,建立分析或決策報告
4. **追蹤解決進展**: 定期更新問題狀態
### 檢查作業流程
1. **執行系統檢查**: `./drama check`
2. **運行一致性檢查**: `./check_consistency.sh`
3. **記錄發現問題**: 使用問題管理系統
4. **產生檢查報告**: 必要時建立分析報告
## ⚠️ 常見錯誤和避免方法
### 錯誤1: 手動創建報告
**問題**: 直接創建報告檔案,導致日期錯誤、格式不一致
**解決**: 必須使用 `./drama report` 命令
### 錯誤2: 忽略現有工具
**問題**: 重複實作已存在的功能
**解決**: 先檢查 `tools/` 目錄下的現有工具
### 錯誤3: 未整合問題系統
**問題**: 發現問題但未記錄到 ISSUES.md
**解決**: 每次發現問題都必須使用 `./drama issue`
### 錯誤4: 日期不一致
**問題**: 使用錯誤的日期或格式
**解決**: 依賴系統工具的自動日期處理
## 🔍 品質檢查清單
### 每次任務完成後檢查
- [ ] 是否使用了正確的系統工具?
- [ ] 所有日期是否正確2025-09-07
- [ ] 發現的問題是否已記錄?
- [ ] 報告是否已正確整合到問題系統?
- [ ] 檔案命名是否符合系統標準?
## 🚨 緊急情況處理
### 工具故障時
1. 記錄工具故障情況到 ISSUES.md
2. 使用手動方式完成緊急任務
3. 修正工具後重新使用標準流程
4. 檢查並修正手動操作造成的不一致
### 系統不一致時
1. 立即停止當前工作
2. 運行 `./check_consistency.sh`
3. 記錄發現的不一致問題
4. 修正問題後繼續工作
## 📚 相關文檔
- [問題追蹤系統](./ISSUES.md)
- [工具使用說明](./tools/)
- [報告模板](./reports/templates/)
- [檢查腳本](./scripts/)
## 🔄 持續改善
### 發現新問題時
1. 立即記錄到 ISSUES.md
2. 評估是否需要新工具或流程
3. 更新本指南文檔
4. 通知相關團隊成員
### 工具優化時
1. 測試新工具的正確性
2. 更新操作流程
3. 修訂本指南文檔
4. 確保向下相容性
---
**重要提醒**: 本指南是 Claude AI 助手的強制性操作標準。任何偏離此流程的行為都可能造成系統不一致和品質問題。
**最後更新**: 2025-09-07
**版本**: 1.0
**維護者**: Drama Ling 開發團隊

128
ISSUES.md
View File

@ -1,70 +1,136 @@
# 🚨 問題追蹤 # 📋 待處理問題
## 🔥 緊急問題 ## 🔥 緊急問題
- [ ] API模組化文檔中有7個待建立的模組 - [ ] API模組化文檔中有7個待建立的模組
- [x] System Design與User Flow的UI名稱不一致
- 📊 **分析報告**: [UI一致性分析報告](./reports/analysis/2024-12-08_UI-consistency-analysis.md)
- ✅ **解決狀態**: 已修正命名錯誤和特殊字符39個缺漏UI待補充
- 📅 **完成日期**: 2024-12-08
## ⚠️ 重要問題 ## ⚠️ 重要問題
- [ ] 資料庫schema設計未確定 - [ ] 資料庫schema設計未確定
- [ ] 用戶認證流程細節模糊 - [ ] 用戶認證流程細節模糊
- [ ] System Design有39個UI但User Flow沒有存在大量設計缺漏 - [ ] System Design有40個UI但User Flow沒有存在大量設計缺漏比預期更嚴重
- 📊 **相關報告**: [UI一致性分析報告](./reports/analysis/2024-12-08_UI-consistency-analysis.md) - 📊 **綜合分析**: [UI設計缺漏嚴重性評估](./reports/analysis/2025-09-07_UI-design-gaps-severity-analysis.md)
- 📋 **後續行動**: 需為39個缺失UI撰寫User Flow定義 - 📊 **基礎報告**: [UI一致性分析報告](./reports/analysis/2025-09-07_UI-consistency-analysis.md)
- 📊 **功能分類**: [缺失UI功能分類分析](/tmp/ui_analysis/missing_ui_analysis.md)
- 📋 **實施計劃**: 第1週-核心功能(17個)第2週-重要功能(13個)第4週-次要功能(10個)
- ⚠️ **緊急建議**: 暫停非核心功能開發,優先補全對話糾正和學習結果系統
- [ ] User Flow有7個UI但System Design沒有可能是實作時新增的UI - [ ] User Flow有7個UI但System Design沒有可能是實作時新增的UI
- 📊 **相關報告**: [UI一致性分析報告](./reports/analysis/2024-12-08_UI-consistency-analysis.md) - 📊 **相關報告**: [UI一致性分析報告](./reports/analysis/2025-09-07_UI-consistency-analysis.md)
- 📋 **後續行動**: 需確認這7個UI是否為必要功能 - 📋 **後續行動**: 需確認這7個UI是否為必要功能
## 📝 一般問題 ## 📝 一般問題
- [ ] 資料庫設計需要確認用戶表結構 - [ ] 資料庫設計需要確認用戶表結構
- [ ] 文檔格式不統一 - [ ] 文檔格式不統一
- [ ] UI組件命名規範 - [ ] UI組件命名規範
- [x] UI名稱包含特殊字符如UI_ChallengeLevel_ChoosePopup-1有連字號- 已修正 (2024-12-08)
- [x] UI命名不一致UI_PresonalCenter_dd_Detail有拼寫錯誤- 已修正 (2024-12-08)
- [ ] 部分UI功能重複可能需要合併多個Result相關UI - [ ] 部分UI功能重複可能需要合併多個Result相關UI
## 🤖 與 Claude 協作提醒 ## 🤖 與 Claude 協作提醒
- [ ] 每次請 Claude 做事時,提醒他記錄遇到的問題 - [ ] Claude **必須優先使用** `./drama report` 而非手動創建報告
- [ ] 定期檢查 Claude 是否有發現新問題需要記錄 - [ ] Claude **必須使用** `./drama issue` 而非直接編輯 ISSUES.md
- [ ] 定期運行 `./drama compliance` 檢查系統合規性
- [ ] 如果 Claude 發現規格不確定或衝突,立即記錄到對應優先級區域 - [ ] 如果 Claude 發現規格不確定或衝突,立即記錄到對應優先級區域
- [ ] Claude 實作功能時發現的技術難題也要記錄 - [ ] Claude 實作功能時發現的技術難題也要記錄
- [ ] 請 Claude 在完成任務後總結發現的問題 - [ ] 請 Claude 在完成任務後總結發現的問題
## ✅ 已解決 ### 🚨 強制性工作流程
- [x] 建立問題追蹤系統 (2024-12-08) **重要**: Claude 必須遵循以下強制性流程,避免系統不一致:
1. **報告建立**: 必須使用 `./drama report analysis "主題"`
2. **問題管理**: 必須使用 `./drama issue`
3. **系統檢查**: 定期使用 `./drama compliance``./drama consistency`
4. **參考指南**: 所有操作前先查看 `CLAUDE.md` 工作指南
**違反流程的後果**: 可能導致日期錯誤、格式不一致、系統追蹤失效等問題
--- ---
## 💡 快速記錄格式 # 📚 已完成歷史
### 新問題格式: ## 2025-09-07 完成項目
### 🔥 緊急問題 - 已解決
- [x] **對話糾正系統缺失完整User Flow**影響核心學習功能9個UI
- 📊 **詳細分析**: [UI設計缺漏嚴重性評估](./reports/analysis/2025-09-07_UI-design-gaps-severity-analysis.md)
- 📋 **User Flow設計**: [對話糾正系統流程設計](/tmp/ui_analysis/dialog_correction_flow.md)
- ✅ **解決狀態**: 已完成完整對話糾正系統User Flow設計並整合到官方文檔
- [x] **System Design與User Flow的UI名稱不一致**
- 📊 **分析報告**: [UI一致性分析報告](./reports/analysis/2025-09-07_UI-consistency-analysis.md)
- ✅ **解決狀態**: 已修正命名錯誤和特殊字符39個缺漏UI待補充
### 📝 一般問題 - 已解決
- [x] **UI名稱包含特殊字符**如UI_ChallengeLevel_ChoosePopup-1有連字號
- [x] **UI命名不一致**UI_PresonalCenter_dd_Detail有拼寫錯誤
### 🤖 Claude 協作 - 已完成
- [x] **建立 Claude 工作指南文件** (CLAUDE.md)
- [x] **在系統工具中加入操作提醒和防護機制**
- [x] **建立合規性檢查系統** (`./drama compliance`)
- [x] **建立問題追蹤系統**
---
## 💡 問題維護機制
### 📝 新增問題
**推薦方式**: 使用 `./drama issue` 工具
- 自動分類到正確優先級
- 統一格式和日期
- 互動式操作,不易出錯
**手動方式**: 直接編輯本檔案(緊急時)
``` ```
- [ ] 問題描述 (優先級: 🔥緊急/⚠️重要/📝一般) - [ ] 問題描述 (優先級: 🔥緊急/⚠️重要/📝一般)
- 檔案: path/to/file.md:line - 檔案: path/to/file.md:line
- 影響: 描述影響 - 影響: 描述影響
- 想法: 可能的解決方向 - 建議: 可能的解決方向
``` ```
### 更新問題: ### ✅ 完成問題
1. 解決後將 `[ ]` 改為 `[x]` 1. **標記完成**: 將 `[ ]` 改為 `[x]`
2. 移到「已解決」區域 2. **移動位置**: 從待處理區域移到「📚 已完成歷史」
3. 加上解決日期 3. **按日期分組**: 放到對應的日期區域2025-09-08 完成項目)
4. **保留詳情**: 移動時保留解決詳情和連結
### 每週回顧: ### 🔄 定期維護
- 檢查緊急問題是否有進展
- 將已解決問題歸檔 #### 每日檢查
- 評估是否有新問題需要添加 - 查看是否有新的緊急問題
- 更新問題進度
#### 每週整理
- 整理已完成項目到正確日期區域
- 檢查是否有逾期的重要問題
- 評估問題優先級是否需要調整
#### 每月歸檔
- 將超過一個月的完成項目移到歷史存檔
- 統計問題解決效率
- 檢討常見問題類型
### 📊 快速查看
- **待處理總覽**: `./drama check`
- **完整列表**: `./drama issue` → 選項 4
- **狀態統計**: `./drama issue` → 選項 2
--- ---
## 🎯 使用建議 ## 🎯 使用原則
**發現問題時**:直接編輯此檔案,用一行話記錄問題 ### 🚨 緊急問題
- **定義**: 阻擋開發進度的嚴重問題
- **處理時間**: 立即處理
- **範例**: API 衝突、資料庫設計錯誤
**處理問題時**勾選checkbox移動到對應區域 ### ⚠️ 重要問題
- **定義**: 影響功能完整性的問題
- **處理時間**: 本週內
- **範例**: UI 設計缺漏、功能需求不明確
**定期回顧**每週花5分鐘整理一次 ### 📝 一般問題
- **定義**: 可以延後處理的改進
- **處理時間**: 有空閒時
- **範例**: 文檔格式、命名規範
**簡單就好**:不需要複雜的格式,重點是快速記錄和追蹤 ### 📚 歷史記錄
- **用途**: 了解最近完成的工作
- **組織**: 按完成日期分組
- **保留**: 解決方案和相關連結

View File

@ -0,0 +1,762 @@
# 用戶流程規格文件 (User Flow Specification)
## 文件概述
本文件詳細定義了戲劇化英語學習應用程式的完整用戶流程涵蓋從新用戶註冊到深度學習的所有互動路徑。基於83個UI定義和完整的功能模組架構提供開發團隊實作用戶體驗的藍圖。
## 主要用戶角色
- **訪客用戶 (Guest)**: 未註冊/登入的用戶可享受7天免費體驗
- **註冊用戶 (Registered)**: 已註冊但使用基礎功能的用戶,可購買鑽石道具
- **VIP用戶 (VIP)**: 簡化訂閱用戶享有每日3次免費限時挑戰等特權
- **付費用戶 (Premium)**: 有購買鑽石的用戶,可使用各種道具和功能
## 核心用戶流程
### 1. 新用戶引導流程 (Onboarding Flow)
```mermaid
graph TD
A[應用啟動] --> B{用戶狀態}
B -->|未登入| C[UI_Login_Main]
B -->|已登入| D[UI_Level_Map]
C --> E[UI_SignUp_Main]
E --> F[UI_Onboarding_Welcome]
F --> G[UI_Onboarding_Purpose]
G --> H[UI_Onboarding_Level]
H --> I[UI_Onboarding_TimeSlot]
I --> J[UI_Onboarding_Frequency]
J --> K[UI_Onboarding_Notice]
K --> L[UI_Onboarding_Result]
L --> M[UI_Assessment_Test]
M --> N[UI_Assessment_Results]
N --> O[UI_Shop_Categories - 首次鑽石購買觸發]
O --> P{訂閱狀態}
P -->|完成訂閱| D
P -->|跳過/取消| D
C -->|忘記密碼| Q[UI_PasswordReset_Form]
Q --> R[UI_PasswordReset_Popup]
```
#### 流程說明
1. **應用啟動檢查**
- 檢查用戶登入狀態
- 已登入用戶直接進入主學習地圖
- 未登入用戶進入登入頁面
2. **登入/註冊階段**
- `UI_Login_Main`: 支援帳密登入、Apple ID、Google登入
- `UI_SignUp_Main`: 新用戶註冊表單
- `UI_PasswordReset_Form/Popup`: 密碼重設流程
3. **個人化設定階段**
- `UI_Onboarding_Purpose`: 學習目的選擇
- `UI_Onboarding_Level`: 當前語言程度
- `UI_Onboarding_TimeSlot`: 偏好學習時段
- `UI_Onboarding_Frequency`: 學習頻率設定
- `UI_Onboarding_Notice`: 使用須知提醒
- `UI_Onboarding_Result`: 個人化建議結果
4. **語言程度測試**
- `UI_Assessment_Test`: 進行程度評估測試
- `UI_Assessment_Results`: 顯示測試結果和建議
5. **首次鑽石購買觸發**
- `UI_Shop_Categories`: 完成第一次詞彙認識關卡後自動觸發鑽石購買頁面
- **雙軌營收模式**
- 主要鑽石貨幣系統NT$30-390套餐
- 次要7天免費體驗 + VIP訂閱特權
- 輔助獎勵廣告系統獲得25-50鑽石
### 2. 完整學習核心流程 *(更新基於最新規格,包含對話糾正系統)*
```mermaid
graph TD
A[UI_Level_Map] --> A1{命條檢查}
A1 -->|命條>0| B{關卡類型}
A1 -->|命條=0| A2[UI_LifePoints_Display - 命條不足提示]
A2 --> A3{.choice}
A3 -->|購買補命道具| A4[UI_Shop_Item_Confirm]
A3 -->|等待自動回復| A5[等待時間]
A4 --> A6{鑽石足夠?}
A6 -->|是| A7[購買成功+命條回復] --> A
A6 -->|否| A8[UI_Insufficient_Resources] --> UI_Shop_Categories
A5 --> A
B -->|詞彙認識關卡| C[詞彙學習流程]
B -->|詞彙熟悉關卡| D[詞彙熟練流程]
B -->|對話訓練關卡| E[情境對話流程]
B -->|複習詞彙| F[間隔複習流程]
B -->|時光關卡| G[時光挑戰流程]
C --> C1[UI_Vocab_Introduction]
C1 --> C2[詞彙展示學習]
C2 --> C3[UI_Vocab_Choice_Practice]
C3 --> C4{答題結果}
C4 -->|正確| C5{全部完成?}
C4 -->|錯誤| C6[命條-1, 題目加到最後]
C6 --> C7{命條>0?}
C7 -->|是| C5
C7 -->|否| C8[關卡失敗+時光卷]
C5 -->|是| C9[三顆星通關]
C5 -->|否| C3
C8 --> A
C9 --> C10[詞彙加入複習清單] --> C11[今日任務檢查+獎勵] --> A
D --> D1[UI_VocabFluency_MatchImageToWord]
D1 --> D2[例句重組練習]
D2 --> D3[UI_VocabFluency_SentenceReorder]
D3 --> D4[詞彙配對練習]
D4 --> D5{答題結果}
D5 -->|正確| D6{全部完成?}
D5 -->|錯誤| D7[命條-1, 題目加到最後]
D7 --> D8{命條>0?}
D8 -->|是| D6
D8 -->|否| D9[關卡失敗+時光卷]
D6 -->|是| D10[三顆星通關]
D6 -->|否| D1
D9 --> A
D10 --> D11[詞彙加入複習清單] --> D12[今日任務檢查+獎勵] --> A
E --> E1[UI_ScenarioDialog_GoalDetail]
E1 --> E2[UI_Dialogue_Main]
E2 --> E3{對話完成?}
E3 -->|是| E4[UI_ScenarioDialog_ReplyResult]
E3 -->|需要提示| E5[UI_ScenarioDialog_ReplyGuide]
E5 --> E2
E4 --> E6{評估結果}
E6 -->|通過| E7[三顆星通關]
E6 -->|需訂正| E8[命條-1, 進入訂正流程]
E8 --> E9{命條>0?}
E9 -->|是| E10[對話糾正系統流程]
E9 -->|否| E11[關卡失敗+時光卷]
E10 --> E6
E7 --> E14[詞彙加入複習清單] --> E15{滿星檢查}
E15 -->|滿星| E16[語言程度晉階進度+今日任務]
E15 -->|非滿星| E17[今日任務檢查+獎勵]
E16 --> A
E17 --> A
E11 --> A
F --> F1[UI_VocabReview_Main]
F1 --> F2[間隔複習算法選題]
F2 --> F3[UI_VocabReview_Main]
F3 --> F4{答題結果}
F4 -->|正確| F5{全部完成?}
F4 -->|錯誤| F6[命條-1, 重複複習]
F6 --> F7{命條>0?}
F7 -->|是| F5
F7 -->|否| F8[關卡失敗+時光卷]
F5 -->|是| F9[三顆星通關]
F5 -->|否| F3
F8 --> A
F9 --> F10[更新複習次數] --> A
G --> G1[UI_TimeWarpChallenge_Main]
G1 --> G2[300秒倒數計時開始]
G2 --> G3[快速詞彙/對話挑戰]
G3 --> G4{時間內完成?}
G4 -->|是| G5[時光獎勵+經驗值]
G4 -->|否| G6[挑戰失敗]
G5 --> A
G6 --> A
```
#### 流程說明
1. **訂閱狀態檢查** *(新增)*
- 進入對話訓練關卡前檢查訂閱狀態
- 未訂閱用戶自動跳轉到訂閱頁面 `UI_SubscriptionPlans`
- 訂閱成功後解鎖對話訓練功能
2. **命條系統檢查**
- 每次進入關卡前檢查命條數量最大5個
- 命條不足時提示購買或等待自動回復每5小時+1個
- 命條歸零時關卡失敗,獲得時光卷作為安慰獎勵
3. **詞彙認識關卡流程 (C)**
- `UI_Vocab_Introduction`: 展示詞彙、詞義、例句、示意圖
- `UI_Vocab_Choice_Practice`: 詞彙選擇題測試
- 答錯扣除命條,題目移至最後重新測試
- 全部正確獲得三顆星通關,詞彙加入複習清單
4. **詞彙熟悉關卡流程 (D)**
- `UI_VocabFluency_MatchImageToWord`: 圖片配對練習
- `UI_VocabFluency_SentenceReorder`: 例句重組練習
- 多種練習模式強化詞彙記憶
- 完成後詞彙進入複習系統
5. **情境對話關卡流程 (E)** *(需訂閱權限)*
- `UI_ScenarioDialog_GoalDetail`: 顯示對話任務目標
- `UI_Dialogue_Main`: 主要對話界面
- **雙重完成條件**: 劇情任務完成 + 指定詞彙使用
- **回覆卡關輔助**: `UI_ScenarioDialog_ReplyGuide` 三層輔助架構
- **AI評估系統**: 語法、語意、流暢度三維度即時評分
- **對話糾正系統**: 完整的語法和流暢度糾正流程
- 需要訂正時扣除命條,提供解釋和重試機會
6. **間隔複習流程 (F)**
- `UI_VocabReview_Main`: 基於間隔複習算法選擇詞彙
- 使用公式:下次複習時間 = 當日 + (2^複習次數)
- `UI_VocabReview_Main`: 複習測試界面
- 答錯重複複習,正確則更新複習次數
7. **時光挑戰流程 (G)**
- `UI_TimeWarpChallenge_Main`: 300秒限時挑戰
- 快速詞彙或對話測試
- 時間內完成獲得時光獎勵和經驗值
- 挑戰失敗無懲罰,可重複嘗試
8. **特殊任務系統** *(新增)*
- 每日00:00重置所有任務進度
- 關卡結算時檢查任務完成狀態
- 完成任務獲得經驗值獎勵並顯示結算頁面
- 包含詞彙認識、熟悉、對話訓練、滿星對話四類任務
9. **語言程度晉階系統** *(新增)*
- 13級語言程度系統(A1→A2→B1→B2→C1→C2→最高級C2)
- 晉階條件:前階與後階累積滿星對話訓練次數
- 晉階後解鎖更高難度關卡和內容
- 多維度語言能力評估:語意合適度、語法錯誤率、表達流暢度、詞彙分數
### 3. 詞彙學習系統流程 (Vocabulary Learning System Flow)
```mermaid
graph TD
A[詞彙學習系統] --> B{學習階段判定}
B -->|認識階段| C[詞彙認識關卡]
B -->|熟悉階段| D[詞彙熟悉關卡]
B -->|對話應用| E[情境對話訓練]
B -->|間隔複習| F[複習系統]
C --> C1{命條檢查}
C1 -->|命條>0| C2[UI_Vocab_Introduction]
C1 -->|命條=0| C3[等待回復/購買]
C2 --> C4[詞彙展示學習]
C4 --> C5[UI_Vocab_Choice_Practice]
C5 --> C6{測試結果}
C6 -->|正確| C7{階段完成?}
C6 -->|錯誤| C8[命條-1, 加入最後]
C7 -->|完成| C9[進入熟悉階段]
C7 -->|繼續| C5
C8 --> C1
D --> D1[UI_VocabFluency_MatchImageToWord]
D1 --> D2[UI_VocabFluency_SentenceReorder]
D2 --> D3{熟悉度測試}
D3 -->|通過| D4[進入對話階段]
D3 -->|需加強| D1
E --> E1[情境對話中詞彙應用]
E1 --> E2{對話完成}
E2 -->|成功| E3[詞彙掌握完成]
E2 -->|需重試| E1
F --> F1[間隔複習算法]
F1 --> F2[選擇到期詞彙]
F2 --> F3[UI_VocabReview_Main]
F3 --> F4{複習結果}
F4 -->|記住| F5[延長間隔時間]
F4 -->|遺忘| F6[重置間隔計數]
F5 --> F7[更新複習次數]
F6 --> F7
C9 --> D
D4 --> E
E3 --> F
```
### 4. 社交與競爭流程 (Social & Competition Flow)
```mermaid
graph TD
A[社交功能入口] --> B{用戶狀態}
B -->|訪客| C[UI_SocialRanking_GuestPrompt]
B -->|註冊用戶| D[UI_Social_Ranking]
D --> E[UI_RankingDetail]
E --> F{競爭選項}
F -->|挑戰用戶| G[UI_TimedDialogue]
F -->|查看好友| H[UI_PersonalCenter_FriendMain]
H --> I[UI_PersonalCenter_FriendList]
I --> J[UI_PersonalCenter_OtherUserMain]
H --> K[UI_PersonalCenter_FriendSearch]
G --> L[對話挑戰結果]
L --> M[UI_LevelResult_SuccessResult]
```
### 5. 命條系統流程 (Life Points System Flow)
```mermaid
graph TD
A[命條系統] --> B{當前命條數量}
B -->|命條>0| C[正常遊戲流程]
B -->|命條=0| D[UI_ScenarioDialog_InsufficientPopup]
D --> E{用戶選擇}
E -->|等待回復| F[顯示回復時間]
E -->|購買命條| G[UI_Shop_Categories]
E -->|觀看廣告| H[UI_AdOffer]
F --> F1[每5小時+1命條]
F1 --> F2{命條已回復}
F2 -->|是| C
F2 -->|否| F
G --> G1[UI_ItemStore_ConfirmPopup]
G1 --> G2{購買確認}
G2 -->|確認| G3[命條+5]
G2 -->|取消| D
G3 --> C
H --> H1[UI_AdViewing]
H1 --> H2[UI_RewardClaim]
H2 --> H3[命條+1]
H3 --> C
C --> I{學習過程中}
I -->|答錯/需訂正| J[命條-1]
J --> K{命條>0}
K -->|是| C
K -->|否| L[關卡失敗+時光卷]
L --> D
```
### 6. 商業化流程 (Monetization Flow)
```mermaid
graph TD
A[商業功能觸發] --> B{觸發情境}
B -->|命條不足| C[UI_ScenarioDialog_InsufficientPopup]
B -->|回覆提示不足| D[回覆提示道具購買確認]
B -->|主動購買| E[UI_Shop_Categories]
B -->|訂閱服務| F[UI_SubscriptionPlans]
B -->|廣告獎勵| G[UI_AdOffer]
C --> E
D --> D1{鑽石是否足夠(30)}
D1 -->|足夠| D2[購買回覆提示道具]
D1 -->|不足| E
D2 --> D3[返回對話並啟用輔助功能]
D3 --> D4[UI_ScenarioDialog_ReplyGuide]
E --> H[UI_ItemStore_ConfirmPopup]
H --> I{購買確認}
I -->|確認| J[處理購買]
I -->|取消| K[返回商店]
F --> L[UI_PaymentFlow]
L --> M[UI_Subscription_Result]
G --> N[UI_AdViewing]
N --> O[UI_RewardClaim]
J --> P[UI_PurchasedContent]
M --> Q[返回主功能]
O --> Q
```
### 7. 個人中心流程 (Personal Center Flow)
```mermaid
graph TD
A[UI_Profile_Dashboard] --> B{功能選擇}
B -->|詳細統計| C[UI_PresonalCenter_dd_Detail]
B -->|個人設定| D[UI_PersonalCenter_Settings]
B -->|好友管理| E[UI_PersonalCenter_FriendMain]
B -->|訪客狀態| F[UI_PersonalCenter_GuestPrompt]
B -->|功能鎖定| G[UI_PersonalCenter_Locked]
E --> H[UI_PersonalCenter_FriendList]
E --> I[UI_PersonalCenter_FriendSearch]
H --> J[UI_PersonalCenter_OtherUserMain]
F --> K[UI_Login_Main]
```
### 8. 語言程度晉階流程 (Language Level Advancement Flow) *(新增)*
```mermaid
graph TD
A[對話訓練滿星完成] --> B[更新晉階進度]
B --> C{當前語言程度}
C -->|1級A1| D[檢查後階進度10/10]
C -->|2-3級A2| E[檢查前階15+後階10]
C -->|4-6級B1| F[檢查前階15+後階10]
C -->|7-8級B2| G[檢查前階15+後階10]
C -->|9-11級C1| H[檢查前階15+後階10]
C -->|12級C2| I[檢查前階15+後階10]
C -->|13級最高級| J[已達最高級]
D --> K{後階完成?}
E --> L{前階+後階完成?}
F --> L
G --> L
H --> L
I --> L
K -->|是| M[UI_LanguageLevel_LevelUp]
K -->|否| N[更新進度顯示]
L -->|是| M
L -->|否| N
M --> O[程度提升+解鎖新關卡]
N --> P[返回學習地圖]
O --> P
J --> P
```
#### 語言程度系統規格
**13階層架構**
- **1級 (A1)**: 後階10次滿星對話訓練
- **2-3級 (A2)**: 前階15次 + 後階10次滿星對話訓練
- **4-6級 (B1)**: 前階15次 + 後階10次滿星對話訓練
- **7-8級 (B2)**: 前階15次 + 後階10次滿星對話訓練
- **9-11級 (C1)**: 前階15次 + 後階10次滿星對話訓練
- **12級 (C2)**: 前階15次 + 後階10次滿星對話訓練
- **13級 (最高級C2)**: 已達最高語言程度
**評估指標**
- 語意合適度
- 語法錯誤率
- 表達流暢度
- 詞彙分數
### 9. 特殊任務系統流程 (Daily Mission System Flow) *(新增)*
```mermaid
graph TD
A[關卡結算時] --> B[檢查今日任務進度]
B --> C{任務類型}
C -->|詞彙認識關卡通關| D[更新任務1進度]
C -->|詞彙熟悉關卡通關| E[更新任務2進度]
C -->|對話訓練關卡通關| F[更新任務3進度]
C -->|對話訓練滿星| G[更新任務4進度]
D --> H[檢查任務完成狀態]
E --> H
F --> H
G --> H
H --> I{任務完成?}
I -->|是| J[UI_Mission_RewardResult]
I -->|否| K[返回學習地圖]
J --> L[獲得經驗值獎勵]
L --> K
M[每日00:00] --> N[重置所有任務進度]
N --> O[任務狀態初始化]
```
#### 今日任務規格
**任務清單**
1. **詞彙認識任務**: 成功闖關1次詞彙認識關卡 → 經驗值獎勵
2. **詞彙熟悉任務**: 成功闖關1次詞彙熟悉關卡 → 經驗值獎勵
3. **對話訓練任務**: 成功闖關1次對話訓練關卡 → 經驗值獎勵
4. **完美對話任務**: 在對話訓練關卡獲得滿星分數1次 → 經驗值獎勵
**重置機制**: 每日00:00自動重置所有任務進度
**獎勵時機**: 關卡結束時進行任務完成判定,完成則顯示獎勵結算頁面
### 10. 鑽石貨幣系統流程 (Diamond Currency System Flow) *(更新)*
```mermaid
graph TD
A[鑽石需求觸發] --> B{觸發情境}
B -->|命條不足需補充| C[UI_LifePoints_Display]
B -->|回覆提示需求| D[UI_Cost_Confirm_Popup - 30鑽石]
B -->|限時挑戰入場| E[UI_Cost_Confirm_Popup - 50鑽石]
B -->|加時道具| F[UI_Cost_Confirm_Popup - 300鑽石]
B -->|主動購買| G[UI_Shop_Categories]
C --> C1{選擇}
C1 -->|購買補命道具| C2[UI_Shop_Item_Confirm - 100鑽石]
C1 -->|等待自動回復| C3[等待時間]
D --> D1{鑽石足夠?}
D1 -->|足夠| D2[購買成功] --> D3[UI_Reply_Assistance]
D1 -->|不足| H[UI_Insufficient_Resources]
E --> E1{鑽石足夠?}
E1 -->|足夠| E2[入場成功] --> E3[UI_TimeWarp_Cards]
E1 -->|不足| H
F --> F1{鑽石足夠?}
F1 -->|足夠| F2[購買成功] --> F3[時間道具啟用]
F1 -->|不足| H
H --> G
G --> G1{套餐選擇}
G1 -->|新手包| G2[500鑽石 - NT$30]
G1 -->|基礎包| G3[1200鑽石 - NT$60]
G1 -->|價值包| G4[2500鑽石 - NT$99]
G1 -->|豪華包| G5[5000鑽石 - NT$190]
G1 -->|至尊包| G6[12000鑽石 - NT$390]
G2 --> G7[UI_Shop_Item_Confirm]
G3 --> G7
G4 --> G7
G5 --> G7
G6 --> G7
G7 --> G8{購買確認}
G8 -->|確認| G9[UI_Subscription_Success]
G8 -->|取消| G10[返回原處]
```
### 11. 300秒限時挑戰流程 (300-Second Timed Challenge Flow) *(新增)*
```mermaid
graph TD
A[限時挑戰觸發] --> B{入場檢查}
B -->|首次免費| C[UI_TimeWarp_Cards - 直接入場]
B -->|非首次| D[UI_Cost_Confirm_Popup - 50鑽石]
D --> D1{鑽石足夠?}
D1 -->|足夠| C
D1 -->|不足| E[UI_Insufficient_Resources] --> F[UI_Shop_Categories]
C --> G[開始300秒倒數]
G --> H{挑戰過程}
H -->|需要暫停| I[UI_Cost_Confirm_Popup - 100鑽石] --> I1{購買?}
H -->|需要加時| J[UI_Cost_Confirm_Popup - 150鑽石] --> J1{購買?}
H -->|時間到| K[結算頁面]
H -->|主動退出| L[UI_ChallengeLevel_ExitComfirmPopup]
I1 -->|確認| M[暫停30秒] --> H
I1 -->|取消| H
J1 -->|確認| N[加時60秒] --> H
J1 -->|取消| H
K --> O{挑戰結果}
O -->|成功| P[UI_Result_Success_A] --> Q[特殊獎勵獲得]
O -->|部分成功| R[UI_Result_Success_B] --> S[一般獎勵獲得]
O -->|失敗| T[UI_Result_Failure_A] --> U[無獎勵但可重試]
```
### 12. 簡化訂閱系統流程 (Simplified Subscription System Flow) *(更新)*
```mermaid
graph TD
A[訂閱觸發] --> B[UI_Onboarding_Welcome - 7天免費體驗]
B --> C{體驗期使用}
C --> D[7天期滿提醒]
D --> E{用戶選擇}
E -->|續訂VIP| F[簡化訂閱確認]
E -->|不續訂| G[回到基礎功能]
F --> H[VIP特權啟用]
H --> I[每日3次免費限時挑戰]
I --> J[其他VIP專屬功能]
```
```
#### 訂閱系統規格
**訂閱方案**
- **月費訂閱**: 600元/月
- **測試優惠**: 內部測試期間享2折優惠
- **訪客支援**: 支援訪客透過設備ID直接訂閱
**權限控制**
- 對話訓練關卡需要訂閱權限
- 詞彙認識和熟悉關卡免費開放
- 其他功能按需設定權限
### 13. 對話糾正系統詳細流程 (Dialog Correction System Flow) *(新補充)*
```mermaid
graph TD
A[AI評估發現問題] --> B{問題類型}
B -->|語法錯誤| C[UI_Correction_Grammar_Retry]
B -->|流暢度不足| D[UI_Correction_Fluency_Practice]
C --> C1[UI_DialogCorrection_SyntaxExplanation_Play]
C1 --> C2{用戶選擇}
C2 -->|查看詳細解釋| C3[UI_DialogCorrection_SyntaxRetry_Play]
C2 -->|直接重試| C4[UI_Correction_Retry_Result]
D --> D1[UI_DialogCorrection_FluencyExplanation_Play]
D1 --> D2{練習結果}
D2 -->|需要更多練習| D3[UI_DialogCorrection_FluencyRetry_Play]
D2 -->|練習通過| D4[UI_DialogCorrection_FluencyPass_Result]
C3 --> C5{語法糾正結果}
C4 --> C5
C5 -->|通過| C6[UI_DialogCorrection_SyntaxPass_Result]
C5 -->|仍有錯誤| C1
D3 --> D2
D4 --> E[UI_Correction_Pass_Result]
C6 --> E
E --> F[UI_Dialogue_Analysis]
F --> G[返回對話主流程]
```
#### 糾正系統詳細說明
**語法糾正流程**
- `UI_Correction_Grammar_Retry`: 語法錯誤提示頁面,顯示錯誤類型和糾正建議
- `UI_DialogCorrection_SyntaxExplanation_Play`: 語法解釋播放,提供語音解釋和正確示例
- `UI_DialogCorrection_SyntaxRetry_Play`: 語法重試練習,引導式重新輸入和即時檢查
- `UI_DialogCorrection_SyntaxPass_Result`: 語法糾正通過結果,提供學習要點總結
**流暢度練習流程**
- `UI_Correction_Fluency_Practice`: 流暢度練習主頁面,提供練習方式選擇
- `UI_DialogCorrection_FluencyExplanation_Play`: 流暢度解釋,包含語音語調示例和文化背景說明
- `UI_DialogCorrection_FluencyRetry_Play`: 流暢度重試頁面,支援語音錄製和即時評分
- `UI_DialogCorrection_FluencyPass_Result`: 流暢度通過結果,顯示語音評分和進度記錄
**結果統整階段**
- `UI_Correction_Pass_Result`: 糾正通過總結,顯示本次學習重點和進展
- `UI_Correction_Retry_Result`: 糾正重試結果,提供改進建議和再次嘗試選項
- `UI_Dialogue_Analysis`: 對話分析頁面,進行整體評估和改進建議總結
**關卡結果階段**
- `UI_LevelResult_CorrectionResult`: 糾正結果總覽,統計糾正次數和正確率分析
- `UI_LevelResult_DialogScoreSummary`: 對話分數總結,提供多維度評分和歷史對比
- `UI_LevelResult_SuccessResult2/FailResult2`: 成功/失敗結果頁面變體,提供差異化反饋
- `UI_LevelResult_RewardConfirm`: 獎勵確認頁面,顯示獲得的獎勵和成就
- `UI_LevelResult_SmallReward`: 小獎勵頁面,提供基礎獎勵和經驗值增加
- `UI_LevelResult_ScoreSummary/ScoreSummary2`: 分數總結頁面變體,提供詳細或簡化版得分顯示
**設計原則**
- **漸進式糾正**: 不直接指出所有錯誤,先處理最關鍵問題
- **多模態反饋**: 結合文字、語音和視覺,適應不同學習風格
- **個人化調整**: 根據用戶程度調整糾正方式和提供針對性建議
- **正向激勵**: 著重進步而非錯誤,慶祝每個小成就
## 特殊流程處理
### 時間門票系統
```mermaid
graph TD
A[需要門票功能] --> B[UI_TimeGate_ConfirmUseTicket]
B --> C{確認使用}
C -->|確認| D[消耗門票繼續]
C -->|取消| E[返回上一頁]
```
### 額外任務系統
```mermaid
graph TD
A[UI_BonusMission_Main] --> B{任務狀態}
B -->|可完成| C[執行任務]
B -->|檢視獎勵| D[獎勵預覽]
C --> E[任務完成獎勵]
```
### 生活模擬系統
```mermaid
graph TD
A[UI_PlayLife_Main] --> B{角色狀態}
B -->|正常| C[選擇活動]
B -->|需要維護| D[角色維護]
C --> E[執行活動]
E --> F[狀態更新]
```
## 導航規則
### 全局導航
- 主學習地圖:`UI_Level_Map`
- 個人中心:`UI_Profile_Dashboard`
- 排行榜:`UI_Social_Ranking`
- 商店:`UI_Shop_Categories`
### 返回機制
- 每個子流程都有明確的返回路徑
- 支援中途退出確認:`UI_ChallengeLevel_ExitComfirmPopup`
- 保存進度機制防止資料丟失
### 狀態保持
- 用戶登入狀態持久化
- 學習進度即時保存
- 設定偏好本地存儲
## 異常處理流程
### 網路異常
- 顯示連線錯誤提示
- 提供重試機制
- 離線模式支援(部分功能)
### 命條不足處理
- `UI_ScenarioDialog_InsufficientPopup`: 命條不足提示
- 提供等待回復每5小時+1、購買、觀看廣告三種選擇
- 關卡失敗時獲得時光卷作為安慰獎勵
### 回覆卡關情境處理 *(新增功能)*
- 使用者在對話中不知道如何回應
- 觸發`UI_ScenarioDialog_ReplyGuide`三層輔助介面
- 檢查回覆提示道具庫存30鑽石/次)
- 道具不足時引導鑽石購買流程
### 間隔複習系統異常
- 複習詞彙數據同步異常處理
- 複習算法計算錯誤回退機制
- 詞彙掌握度評估校正
### 權限不足
- 訪客提示:`UI_PersonalCenter_GuestPrompt`、`UI_SocialRanking_GuestPrompt`
- 功能鎖定:`UI_PersonalCenter_Locked`、`UI_ChallengeLevel_ChoosePopupLock`
- 升級引導流程
## 關鍵轉換點 (Conversion Points)
1. **註冊轉換**: 訪客 → 註冊用戶
2. **首次訂閱轉換** *(新增)*: 完成第一次詞彙認識關卡 → 觸發訂閱頁面 → 月費訂閱(600元/月)
3. **對話訓練權限轉換** *(新增)*: 免費用戶嘗試對話訓練 → 訂閱提示 → 付費解鎖功能
4. **命條系統轉換**: 體驗命條限制 → 購買命條/觀看廣告 → 持續付費
5. **回覆輔助轉換**: 體驗回覆卡關 → 購買提示道具(30鑽石) → 重複使用輔助功能
6. **特殊任務激勵** *(新增)*: 日常學習習慣 → 每日任務完成 → 經驗值獎勵 → 持續參與
7. **語言程度晉階** *(新增)*: 達成滿星對話訓練 → 程度提升 → 解鎖新內容 → 長期留存
8. **詞彙學習循環**: 完成認識→熟悉→對話→複習的完整學習閉環
9. **留存關鍵**: 建立間隔複習習慣詞彙庫達到50個以上
10. **社交激活**: 添加首個好友並進行時光挑戰競爭
11. **習慣養成**: 連續7天使用應用每日完成至少一個關卡
## 效能考量
- 關鍵路徑頁面載入時間 < 2秒
- 對話評估回應時間 < 3秒
- **回覆輔助功能回應時間 < 2秒** *(新增)*
- **翻譯服務回應時間 < 1.5秒** *(新增)*
- **間隔複習算法計算時間 < 0.5秒** *(新增)*
- **詞彙圖片載入時間 < 1秒** *(新增)*
- **命條狀態同步延遲 < 1秒** *(新增)*
- 離線快取常用內容和詞彙數據
- 漸進式載入非關鍵資源
- 詞彙複習數據本地快取機制
## 無障礙支援
- 支援螢幕閱讀器
- 鍵盤導航支援
- 高對比度模式
- 文字大小調整
## 多語言支援
- 介面語言切換
- 學習內容本地化
- RTL語言支援
- 語音辨識多語言
---
本文件將隨著產品迭代持續更新,確保開發團隊始終有最新的用戶流程指引。

File diff suppressed because it is too large Load Diff

4
drama
View File

@ -29,6 +29,7 @@ show_menu() {
echo "" echo ""
echo -e "${PURPLE}🔧 系統檢查${NC}" echo -e "${PURPLE}🔧 系統檢查${NC}"
echo " consistency - 執行一致性檢查" echo " consistency - 執行一致性檢查"
echo " compliance - 執行合規性檢查"
echo " all - 執行全部檢查" echo " all - 執行全部檢查"
echo "" echo ""
echo -e "${PURPLE}⚙️ 系統設置${NC}" echo -e "${PURPLE}⚙️ 系統設置${NC}"
@ -63,6 +64,9 @@ case "$1" in
"consistency") "consistency")
exec "$SCRIPT_DIR/scripts/maintenance_manager.sh" consistency exec "$SCRIPT_DIR/scripts/maintenance_manager.sh" consistency
;; ;;
"compliance")
exec "$TOOLS_DIR/check_compliance.sh"
;;
"all") "all")
exec "$SCRIPT_DIR/scripts/maintenance_manager.sh" all exec "$SCRIPT_DIR/scripts/maintenance_manager.sh" all
;; ;;

View File

@ -25,7 +25,7 @@ reports/
格式:`YYYY-MM-DD_[問題類型]-analysis.md` 格式:`YYYY-MM-DD_[問題類型]-analysis.md`
範例: 範例:
- `2024-12-08_UI-consistency-analysis.md` - `2025-09-07_UI-consistency-analysis.md`
- `2024-12-15_API-modules-analysis.md` - `2024-12-15_API-modules-analysis.md`
- `2024-12-22_database-schema-analysis.md` - `2024-12-22_database-schema-analysis.md`

View File

@ -0,0 +1,169 @@
# UI設計缺漏嚴重性評估分析報告
## 📊 檢查結果總覽
### 基本資訊
- **分析日期**: 2025-09-07
- **分析範圍**: System Design vs User Flow UI對照
- **觸發原因**: 發現「System Design有39個UI但User Flow沒有」問題
- **相關問題**: ISSUES.md #缺漏問題
### 數據統計
- **System Design UI 總數**: 100個
- **User Flow UI 總數**: 68個
- **共同 UI 數量**: 61個
- **實際缺失數量**: 40個比原估計39個更嚴重
- **缺漏比例**: 40%
## 🔍 詳細分析
### 1. 問題分類
#### 🔥 高嚴重度問題 - 17個UI
**對話糾正系統 (9個UI)**
- `UI_Correction_Fluency_Practice` - 流暢度練習
- `UI_Correction_Grammar_Retry` - 語法重試
- `UI_Correction_Pass_Result` - 通過結果
- `UI_Correction_Retry_Result` - 重試結果
- `UI_DialogCorrection_FluencyExplanation_Play` - 流暢度解釋播放
- `UI_DialogCorrection_FluencyPass_Result` - 流暢度通過結果
- `UI_DialogCorrection_FluencyRetry_Play` - 流暢度重試播放
- `UI_Dialogue_Analysis` - 對話分析
- `UI_LevelResult_CorrectionResult` - 關卡糾正結果
**學習結果系統 (8個UI)**
- `UI_LevelResult_DialogScoreSummary` - 對話分數總結
- `UI_LevelResult_FailResult2` - 失敗結果2
- `UI_LevelResult_RewardConfirm` - 獎勵確認
- `UI_LevelResult_ScoreSummary` - 分數總結
- `UI_LevelResult_ScoreSummary2` - 分數總結2
- `UI_LevelResult_SmallReward` - 小獎勵
- `UI_LevelResult_SuccessResult2` - 成功結果2
- `UI_Level_Selection_Modal` - 關卡選擇彈窗
**影響評估:**
- 核心學習功能無法完整實現
- 對話糾正是產品差異化的關鍵功能
- 學習反饋機制不完整,影響用戶留存
#### 🟡 中等嚴重度問題 - 13個UI
**詞彙學習結果 (6個UI)**
- 詞彙練習反饋系統不完整
- 影響學習成效評估
**情境對話詳細 (4個UI)**
- 對話體驗深度不足
- 缺少成本確認和角色詳情
**複習系統 (3個UI)**
- 間隔複習功能不完整
- 影響長期學習效果
#### 🟢 低嚴重度問題 - 10個UI
**社交功能和管理功能**
- 不影響核心學習體驗
- 可在後期版本補充
### 2. 根因分析
#### 問題成因
1. **設計階段脫節**: System Design與User Flow設計團隊溝通不足
2. **優先級混淆**: 核心功能UI被忽略次要功能過度設計
3. **迭代過程缺失**: 設計更新後未同步更新User Flow
4. **驗證機制不足**: 缺少設計完整性檢查流程
#### 風險評估
- **技術風險**: 開發時發現UI定義不完整需要重新設計
- **時程風險**: 補充User Flow需要額外2-4週時間
- **產品風險**: 核心功能體驗不完整,影響產品競爭力
- **用戶體驗風險**: 學習流程中斷,影響用戶滿意度
## 💡 解決方案
### 短期方案 (立即執行)
- [ ] **補充對話糾正系統User Flow** (3天內)
- 設計9個糾正相關UI的詳細流程
- 定義UI間的轉場和互動邏輯
- 確保糾正體驗的連貫性
- [ ] **完善學習結果系統User Flow** (2天內)
- 設計8個結果展示UI的流程
- 建立獎勵機制的完整體驗
- 確保成就感的有效傳達
### 中期方案 (1-2週內)
- [ ] **詞彙系統流程補全**
- 補充6個詞彙結果UI的User Flow
- 完善學習反饋機制
- [ ] **情境對話深度設計**
- 設計4個對話詳細UI的流程
- 增強對話沈浸感
- [ ] **複習系統流程建立**
- 設計3個複習UI的完整流程
- 建立間隔複習的用戶體驗
### 長期方案 (1個月內)
- [ ] **社交功能補充**
- 完善3個社交UI的User Flow
- [ ] **管理功能整合**
- 補充7個管理UI的流程
- [ ] **建立設計同步機制**
- 建立UI一致性檢查流程
- 設置定期同步檢查點
## 🎯 實施計劃
### 執行優先級
1. 🔥 **第一週**: 對話糾正系統 + 學習結果系統
2. ⚠️ **第二週**: 詞彙系統 + 情境對話 + 複習系統
3. 📝 **第四週**: 社交功能 + 管理功能
### 成功指標
- UI完整性達到95%以上
- 核心學習流程100%定義完成
- User Flow文檔與System Design一致性達到98%
### 預期效益
- **開發效率提升**: 減少開發階段的UI重新設計
- **產品體驗完整**: 確保核心功能的完整用戶體驗
- **維護成本降低**: 統一的設計標準,降低後期維護成本
## 📋 後續追蹤
### 檢查清單
- [ ] 對話糾正系統User Flow設計完成
- [ ] 學習結果系統User Flow設計完成
- [ ] 詞彙系統User Flow補充完成
- [ ] 情境對話User Flow設計完成
- [ ] 複習系統User Flow建立完成
- [ ] 社交功能User Flow補充完成
- [ ] 管理功能User Flow整合完成
- [ ] UI一致性檢查機制建立
- [ ] User Flow文檔更新完成
### 下次檢查
- **檢查日期**: 2025-09-14
- **檢查範圍**: 高優先級UI的User Flow完成度
- **負責人**: 產品設計團隊
### 相關文檔
- [UI一致性分析報告](./2025-09-07_UI-consistency-analysis.md)
- [對話糾正系統User Flow設計](/tmp/ui_analysis/dialog_correction_flow.md)
- [缺失UI功能分類分析](/tmp/ui_analysis/missing_ui_analysis.md)
---
**報告產生**: 手動分析 + 自動化檢查工具
**報告人**: Claude Code Assistant
**審核人**: 待指定
**檔案位置**: `reports/analysis/2025-09-07_UI-design-gaps-severity-analysis.md`
## 🚨 緊急建議
基於分析結果,**強烈建議立即暫停非核心功能開發**集中資源補全對話糾正系統和學習結果系統的User Flow設計。這兩個系統是產品的核心競爭力缺失將嚴重影響產品質量和用戶體驗。
建議在完成高優先級UI的User Flow設計之前**不要進入開發階段**,以避免後期大量的返工和重構。

160
tools/check_compliance.sh Executable file
View File

@ -0,0 +1,160 @@
#!/bin/bash
# Drama Ling 合規性檢查工具
# 用途:檢查是否有違反標準流程的檔案和行為
# 使用方法: ./check_compliance.sh
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
PROJECT_ROOT="$(dirname "$SCRIPT_DIR")"
REPORTS_DIR="$PROJECT_ROOT/reports"
# 顏色定義
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
BLUE='\033[0;34m'
RED='\033[0;31m'
NC='\033[0m'
echo -e "${BLUE}🔍 Drama Ling 合規性檢查${NC}"
echo "=================================="
# 檢查1: 尋找可能手動創建的報告檔案
echo -e "${BLUE}檢查1: 尋找不符合命名規範的報告檔案${NC}"
suspicious_reports=()
if [ -d "$REPORTS_DIR" ]; then
# 檢查是否有 2024 年份的檔案(應該都是 2025
while IFS= read -r -d '' file; do
if [[ "$file" == *"2024"* ]]; then
suspicious_reports+=("$file")
fi
done < <(find "$REPORTS_DIR" -name "*.md" -print0 2>/dev/null)
# 檢查是否有不符合日期格式的檔案
while IFS= read -r -d '' file; do
filename=$(basename "$file")
if [[ ! "$filename" =~ ^[0-9]{4}-[0-9]{2}-[0-9]{2}_ ]]; then
suspicious_reports+=("$file")
fi
done < <(find "$REPORTS_DIR" -name "*.md" -not -name "*template*" -print0 2>/dev/null)
fi
if [ ${#suspicious_reports[@]} -eq 0 ]; then
echo -e "${GREEN}✅ 所有報告檔案都符合命名規範${NC}"
else
echo -e "${RED}❌ 發現 ${#suspicious_reports[@]} 個可能有問題的檔案:${NC}"
for file in "${suspicious_reports[@]}"; do
echo " - $file"
done
fi
echo ""
# 檢查2: 驗證報告檔案的日期一致性
echo -e "${BLUE}檢查2: 驗證報告檔案的日期一致性${NC}"
current_date=$(date +"%Y-%m-%d")
date_inconsistencies=()
if [ -d "$REPORTS_DIR" ]; then
while IFS= read -r -d '' file; do
if [[ "$file" == *"analysis"* ]] || [[ "$file" == *"decision"* ]]; then
# 提取檔名中的日期
filename=$(basename "$file")
file_date=$(echo "$filename" | grep -o '^[0-9]\{4\}-[0-9]\{2\}-[0-9]\{2\}')
if [ -n "$file_date" ]; then
# 檢查檔案內容中的日期
if grep -q "分析日期.*$file_date" "$file" 2>/dev/null; then
continue
else
date_inconsistencies+=("$file (檔名日期: $file_date)")
fi
fi
fi
done < <(find "$REPORTS_DIR" -name "*.md" -not -name "*template*" -print0 2>/dev/null)
fi
if [ ${#date_inconsistencies[@]} -eq 0 ]; then
echo -e "${GREEN}✅ 所有報告的日期都一致${NC}"
else
echo -e "${RED}❌ 發現 ${#date_inconsistencies[@]} 個日期不一致的檔案:${NC}"
for file in "${date_inconsistencies[@]}"; do
echo " - $file"
done
fi
echo ""
# 檢查3: 檢查是否有未使用工具創建的檔案
echo -e "${BLUE}檢查3: 檢查檔案創建方式${NC}"
manually_created=()
if [ -d "$REPORTS_DIR" ]; then
while IFS= read -r -d '' file; do
if [[ "$file" == *"analysis"* ]] || [[ "$file" == *"decision"* ]]; then
# 檢查是否包含工具創建的標誌
if ! grep -q "報告產生.*工具" "$file" 2>/dev/null; then
manually_created+=("$file")
fi
fi
done < <(find "$REPORTS_DIR" -name "*.md" -not -name "*template*" -print0 2>/dev/null)
fi
if [ ${#manually_created[@]} -eq 0 ]; then
echo -e "${GREEN}✅ 所有報告都是通過工具創建${NC}"
else
echo -e "${YELLOW}⚠️ 發現 ${#manually_created[@]} 個可能手動創建的檔案:${NC}"
for file in "${manually_created[@]}"; do
echo " - $file"
done
fi
echo ""
# 檢查4: 檢查 ISSUES.md 的格式一致性
echo -e "${BLUE}檢查4: 檢查 ISSUES.md 格式一致性${NC}"
issues_file="$PROJECT_ROOT/ISSUES.md"
if [ -f "$issues_file" ]; then
# 檢查日期格式
inconsistent_dates=$(grep -n "完成日期.*2024" "$issues_file" | wc -l)
if [ "$inconsistent_dates" -eq 0 ]; then
echo -e "${GREEN}✅ ISSUES.md 中的日期格式正確${NC}"
else
echo -e "${RED}❌ ISSUES.md 中發現 $inconsistent_dates 個 2024 年的日期${NC}"
fi
else
echo -e "${RED}❌ 找不到 ISSUES.md 檔案${NC}"
fi
echo ""
# 總結
echo -e "${BLUE}📊 檢查總結${NC}"
echo "=================================="
total_issues=$((${#suspicious_reports[@]} + ${#date_inconsistencies[@]} + ${#manually_created[@]}))
if [ "$total_issues" -eq 0 ]; then
echo -e "${GREEN}🎉 恭喜!所有檢查都通過,系統符合標準規範${NC}"
exit 0
else
echo -e "${YELLOW}⚠️ 發現 $total_issues 個潛在問題${NC}"
echo ""
echo -e "${BLUE}建議修正措施:${NC}"
if [ ${#suspicious_reports[@]} -gt 0 ]; then
echo "1. 重新命名不符合規範的報告檔案"
fi
if [ ${#date_inconsistencies[@]} -gt 0 ]; then
echo "2. 修正檔案內容中的日期不一致問題"
fi
if [ ${#manually_created[@]} -gt 0 ]; then
echo "3. 考慮使用標準工具重新創建手動建立的檔案"
fi
echo ""
echo -e "${YELLOW}💡 提醒:請查看 CLAUDE.md 了解正確的工作流程${NC}"
exit 1
fi

View File

@ -144,6 +144,11 @@ main() {
echo -e "${BLUE}📊 建立 Drama Ling 報告${NC}" echo -e "${BLUE}📊 建立 Drama Ling 報告${NC}"
echo "=================================" echo "================================="
echo -e "${YELLOW}⚠️ 重要提醒:${NC}"
echo " • 所有報告都應該透過此工具創建"
echo " • 確保日期和格式的統一性和正確性"
echo " • 手動建立報告可能導致系統不一致"
echo "================================="
case $type in case $type in
analysis|分析) analysis|分析)

View File

@ -15,6 +15,8 @@ NC='\033[0m'
# 顯示歡迎訊息 # 顯示歡迎訊息
echo -e "${BLUE}🚨 Drama Ling 問題管理工具${NC}" echo -e "${BLUE}🚨 Drama Ling 問題管理工具${NC}"
echo "================================" echo "================================"
echo -e "${YELLOW}💡 使用提醒:請使用此工具管理問題,避免直接編輯 ISSUES.md${NC}"
echo "================================"
# 確保問題文件存在 # 確保問題文件存在
if [ ! -f "$ISSUE_FILE" ]; then if [ ! -f "$ISSUE_FILE" ]; then
@ -95,10 +97,10 @@ $issue_line
echo -e "${BLUE}📊 問題狀態總覽${NC}" echo -e "${BLUE}📊 問題狀態總覽${NC}"
echo "==================" echo "=================="
urgent=$(sed -n '/## 🔥 緊急問題/,/## /p' "$ISSUE_FILE" | grep -c "^- \[ \]") urgent=$(sed -n '/## 🔥 緊急問題/,/## ⚠️ /p' "$ISSUE_FILE" | grep -c "^- \[ \]")
important=$(sed -n '/## ⚠️ 重要問題/,/## /p' "$ISSUE_FILE" | grep -c "^- \[ \]") important=$(sed -n '/## ⚠️ 重要問題/,/## 📝 /p' "$ISSUE_FILE" | grep -c "^- \[ \]")
normal=$(sed -n '/## 📝 一般問題/,/## /p' "$ISSUE_FILE" | grep -c "^- \[ \]") normal=$(sed -n '/## 📝 一般問題/,/## 🤖 /p' "$ISSUE_FILE" | grep -c "^- \[ \]")
resolved=$(grep -c "^- \[x\]" "$ISSUE_FILE") resolved=$(sed -n '/# 📚 已完成歷史/,$p' "$ISSUE_FILE" | grep -c "^- \[x\]")
echo "🔥 緊急問題: $urgent" echo "🔥 緊急問題: $urgent"
echo "⚠️ 重要問題: $important" echo "⚠️ 重要問題: $important"
@ -127,7 +129,7 @@ $issue_line
echo "" echo ""
# 顯示緊急問題 # 顯示緊急問題
urgent_issues=$(sed -n '/## 🔥 緊急問題/,/## /p' "$ISSUE_FILE" | grep "^- \[ \]") urgent_issues=$(sed -n '/## 🔥 緊急問題/,/## ⚠️ /p' "$ISSUE_FILE" | grep "^- \[ \]")
if [ -n "$urgent_issues" ]; then if [ -n "$urgent_issues" ]; then
echo -e "${RED}🔥 緊急問題:${NC}" echo -e "${RED}🔥 緊急問題:${NC}"
echo "$urgent_issues" | nl -w2 -s') ' echo "$urgent_issues" | nl -w2 -s') '
@ -135,7 +137,7 @@ $issue_line
fi fi
# 顯示重要問題 # 顯示重要問題
important_issues=$(sed -n '/## ⚠️ 重要問題/,/## /p' "$ISSUE_FILE" | grep "^- \[ \]") important_issues=$(sed -n '/## ⚠️ 重要問題/,/## 📝 /p' "$ISSUE_FILE" | grep "^- \[ \]")
if [ -n "$important_issues" ]; then if [ -n "$important_issues" ]; then
echo -e "${YELLOW}⚠️ 重要問題:${NC}" echo -e "${YELLOW}⚠️ 重要問題:${NC}"
echo "$important_issues" | nl -w2 -s') ' echo "$important_issues" | nl -w2 -s') '
@ -143,7 +145,7 @@ $issue_line
fi fi
# 顯示一般問題 # 顯示一般問題
normal_issues=$(sed -n '/## 📝 一般問題/,/## /p' "$ISSUE_FILE" | grep "^- \[ \]") normal_issues=$(sed -n '/## 📝 一般問題/,/## 🤖 /p' "$ISSUE_FILE" | grep "^- \[ \]")
if [ -n "$normal_issues" ]; then if [ -n "$normal_issues" ]; then
echo -e "${BLUE}📝 一般問題:${NC}" echo -e "${BLUE}📝 一般問題:${NC}"
echo "$normal_issues" | nl -w2 -s') ' echo "$normal_issues" | nl -w2 -s') '
@ -151,7 +153,7 @@ $issue_line
fi fi
echo -e "${YELLOW}💡 提示: 請直接編輯 $ISSUE_FILE 文件來標記問題為已解決${NC}" echo -e "${YELLOW}💡 提示: 請直接編輯 $ISSUE_FILE 文件來標記問題為已解決${NC}"
echo "將 '[ ]' 改為 '[x]' 並移動到 '## ✅ 已解決' 區域" echo "將 '[ ]' 改為 '[x]' 並移動到 '# 📚 已完成歷史' 區域下的對應日期"
;; ;;
4) 4)