iT邦幫忙

2026 iThome 鐵人賽

DAY 2
0
Build on Google AI

將考國際證照的應用程式變成開源系列 第 2

第2天 ( 2026年8月3日 星期一 ) 產品需求文件 (PRD) - MockExam

  • 分享至 

  • xImage
  •  

產品需求文件 (PRD) - MockExam

1. 產品願景與目標

1.1 問題陳述

準備專業認證考試(如 IT 認證)的過程通常所費不貲,資源分散於各個平台,且缺乏智慧化的輔助。傳統的題庫應用程式僅提供靜態的題目與解答,無法提供深入的概念理解或個人化的輔導教學。

1.2 解決方案

MockExam 是一個開源、結合 AI 驅動且支援離線使用的考試練習平台。它為考生提供了一個全面的生態系統,可以練習題目、進行模擬考、複習錯題,並透過 AI 家教獲得即時、互動式的解析。本系統具備高度客製化能力,支援多種資料庫後端與深度的安全防護機制。

1.3 目標市場

準備技術或專業認證考試的學生與專業人士。(舉例來說,在參考實作中,主要對象為尋求網路認證的 IT 專業人員)。

1.4 成功指標

  • 參與度: 日活躍用戶數 (DAU) 與月活躍用戶數 (MAU)。
  • 成效: 模擬考通過率的平均提升幅度。
  • 內容: 題目涵蓋率與各領域的完成率。
  • 變現: 從免費方案轉換為進階訂閱的轉換率。

2. 目標用戶 (用戶角色)

  1. 考生 (主要用戶): 需要練習題目、追蹤進度、複習弱項並理解解析。通常在通勤或下班時間使用行動裝置學習。
  2. 管理員: 管理題庫 (CRUD 操作)、處理用戶帳號、分配角色,並設定系統全域參數 (例如:安全旗標、資料庫路由)。
  3. 訪客: 在註冊前探索應用程式基本功能。對題目與功能的存取權限受限。
  4. 內部測試人員: 測試發布前的功能、實驗性 AI 模型與測試環境資料。
  5. 公開測試人員: 參與 Beta 測試計畫,可存取即將發布的版本。
  6. 檢視者 / 待審核者: 帳號正在等待管理員審核,或因稽核目的僅限於唯讀模式的用戶。

3. 用戶故事

角色 動作 (我想要...) 效益 (以便於...)
訪客 瀏覽部分範例題目 我可以在註冊前評估此應用程式。
訪客 查看應用程式的基本資訊 我能知道支援哪些認證考試。
考生 使用 Google 登入 我可以快速且安全地存取我的帳號。
考生 依特定領域/主題瀏覽題目 我可以針對特定範圍集中學習。
考生 練習不同題型 (單選、複選、拖曳題、模擬題) 我能適應真實考試的題型。
考生 送出答案並看到即時回饋 我能知道自己是否答對以及原因。
考生 閱讀每道題目的詳細解析 我能理解背後的底層概念 (例如封包傳輸過程或預設閘道設定)。
考生 進行包含 50 題的計時模擬考 我可以模擬真實的考試環境。
考生 在模擬考後查看詳細成績報告 我能知道自己需要加強哪些領域。
考生 複習我之前答錯的題目 我可以鞏固我的弱點。
考生 針對特定題目向 AI 家教提問 當我卡住時能獲得個人化的幫助。
考生 離線使用應用程式 我可以在沒有網路連線時學習。
考生 使用文字轉語音 (TTS) 聆聽題目 我可以免持裝置進行學習。
考生 使用語意關鍵字搜尋題目 我可以輕鬆找到我印象模糊的概念 (例如路由器或交換器的設定)。
考生 購買進階訂閱 我可以解鎖所有題目與進階 AI 功能。
考生 參與題目的社群討論 我可以從其他考生身上學習。
管理員 建立、讀取、更新與刪除題目 我能保持題庫的準確性與最新狀態。
管理員 分配用戶角色 我可以控制誰有權限存取特定功能。
管理員 重設用戶的綁定裝置 我可以協助更換手機的用戶。
管理員 查看交易報告 我可以追蹤應用程式的營收。
管理員 設定系統全域安全性 我可以保護內容免於盜版。
內部測試人員 存取實驗性功能 我可以在公開發布前提供回饋。
內部測試人員 切換測試廣告聯播網 我可以在不違反政策的情況下驗證廣告整合。
公開測試人員 測試發布候選版本的離線同步功能 我可以確保應用程式在真實環境中運作正常。
待審核者 看到提示帳號正在審核中的畫面 我知道我需要等待管理員核准。
檢視者 檢視題目但無法送出答案 我可以稽核內容而不影響統計數據。
考生 讓我的登入工作階段綁定單一裝置 確保我的帳號不會被不安全地共用。
考生 查看我的訂閱到期日 我知道何時需要續訂。
管理員 延長用戶的訂閱到期日 我可以處理客戶支援請求。
考生 使用語音模式與 AI 互動 我可以在開車或走路時進行練習。

4. 功能需求 (FR)

4.1 認證與授權

  • P0: 支援 Google 登入與電子郵件/密碼登入。
  • P0: 角色基礎存取控制 (RBAC),支援 6 種角色:管理員 (admin)、檢視者 (viewer)、待審核 (pending)、內部測試 (internalTester)、公開測試 (publicTester)、訪客 (guest)。
  • P1: 單一裝置綁定 (追蹤 activeDeviceId)。
  • P1: 匿名訪客登入 (權限受限)。
  • P2: 帳號到期追蹤與平台限制 (例如僅限行動裝置)。

4.2 考試練習

  • P0: 依據領域與主題瀏覽題庫。
  • P0: 支援 4 種題型:單選題、複選題、拖曳題、模擬題。
  • P0: 答案送出與即時驗證。
  • P0: 顯示詳細解析與正確答案。
  • P1: 每道題目的專屬討論區,包含社群投票 (按讚) 功能。

4.3 模擬考

  • P0: 自訂模擬考 (可選題數:10/30/50/100 題)。
  • P0: 自訂時間限制,具備視覺化倒數計時器。
  • P0: 計時結束時自動交卷。
  • P1: 綜合成績報告,包含各領域分析。
  • P2: 歷史模擬考紀錄追蹤。

4.4 錯題複習

  • P0: 自動將答錯的題目收集至專屬列表。
  • P1: 優先權排序 (例如依據最近出錯時間或錯誤頻率)。
  • P1: 能夠重新測試錯題。
  • P1: 再次答對後自動從列表中移除。
  • P2: 每日複習次數追蹤與跨考試的統計數據。

4.5 AI 家教

  • P0: 具備當前題目上下文感知的即時問答聊天介面。
  • P0: 雲端/離線雙模式與自動降級切換 (從雲端 API 如 Gemini 切換至裝置端如 Gemma)。
  • P1: 聊天回覆支援 Markdown 渲染與程式碼語法突顯。
  • P2: 多國語言回覆能力。
  • P2: 將聊天紀錄匯出為 .md 筆記。

4.6 學習工具

  • P1: 文字轉語音 (TTS) 朗讀題目與解析。
  • P2: 免持語音模式 (STT+TTS) 進行對話式練習。
  • P2: 從技術題目中萃取英文文法與單字分析。
  • P2: 學習筆記檢視器 (整合本機檔案或 GitHub)。

4.7 搜尋

  • P1: 多欄位過濾器 (依據題號、題型、領域、是否包含圖片)。
  • P2: AI 向量語意搜尋 (768 維度嵌入),支援概念性查詢 (例如搜尋子網路或 IP 位址相關概念)。
  • P1: 搜尋結果套用角色基礎存取控制。

4.8 訂閱與應用程式內購買 (IAP)

  • P0: 明確劃分免費與進階 (Premium) 功能層級。
  • P0: 支援雙支付服務供應商 (RevenueCat + 原生 Google Play 帳單/Apple IAP)。
  • P1: 訂閱方案設定 (例如 1 個月、3 個月)。
  • P1: 恢復購買功能。
  • P2: 檢視交易紀錄。

4.9 管理員面板

  • P0: 完整的題目 CRUD 編輯器,包含領域分類與圖片附件。
  • P0: 用戶管理 (角色分配、裝置重設、到期日延長、平台授權)。
  • P1: 系統預設值設定 (動態浮水印透明度、預設資料庫後端、安全旗標切換)。
  • P2: 交易與使用量報告儀表板。

4.10 廣告

  • P1: 整合橫幅廣告 (Banner)、插頁廣告 (Interstitial)、獎勵影片廣告 (Rewarded Video) 與原生廣告 (Native)。
  • P1: 依據角色切換測試/正式廣告模式。
  • P2: 廣告阻擋偵測與提示。

4.11 社群

  • P1: 每道題目的獨立討論串。
  • P1: 留言的 CRUD 操作與按讚機制。
  • P1: 依據角色控管討論區的檢視或發文權限。

5. 非功能需求 (NFR)

  • 效能:
    • 冷啟動時間 < 3 秒。
    • 題目載入時間 < 500 毫秒。
    • 列表滑動維持流暢的 60fps。
    • 計時器更新不得導致整個頁面重新構建 (最佳化狀態管理)。
  • 安全性 (10+ 層防護):
    • Root/越獄 (Jailbreak) 偵測。
    • 模擬器阻擋。
    • 防止螢幕截圖。
    • 螢幕分享/錄影偵測。
    • 防觸控劫持 (Tapjacking) 保護 (偵測被遮蔽的觸控)。
    • NTP 時間驗證 (防止竄改本機時間以繞過到期日)。
    • 強制單一裝置登入。
    • 畫面上顯示包含用戶識別資訊的動態浮水印。
    • 後端規則防止權限升級 (Privilege escalation)。
    • API 金鑰加密與混淆。
  • 可靠性:
    • 採用 PowerSync (本機 SQLite) 與加密本機同步 (SQLCipher) 的離線優先架構。
    • 功能的優雅降級 (Graceful degradation) (例如離線且無本機模型時停用 AI)。
    • 全域錯誤邊界 (Global error boundary) 以捕捉並回報未處理的例外狀況。
  • 擴展性:
    • 多資料庫架構 (Firebase RTDB、Supabase PostgreSQL、MongoDB Atlas、PowerSync)。
    • 採用 Repository 儲存庫工廠模式 (Factory pattern),以便無縫切換資料來源。
    • 支援 10,000+ 題目的規模而不會有效能衰退。
  • 無障礙與多樣性:
    • 透過 easy_localization 支援多國語言 (EN、JA、zh-TW、zh-CN)。
    • 支援 TTS 語音朗讀。
    • 響應式版面配置,適應手機與平板尺寸。
  • 跨平台:
    • 主要:Android。
    • 次要:Web。
    • 未來規劃:iOS、桌面版 (Windows/macOS)。

6. 競品分析

不同於傳統、靜態的考試準備應用程式,MockExam 透過以下特點做出市場區隔:

  • 開源基礎: 允許社群貢獻並維持安全性的透明度。
  • AI 驅動的家教: 提供互動式解析而非僅有靜態文字,並靈活運用雲端與裝置端模型。
  • 離線優先能力: 具備完整功能的離線體驗,並在重新連線時自動進行背景同步。
  • 多資料庫彈性: 架構設計可運行於多種後端 (Firebase、Supabase 等),避免供應商鎖定 (Vendor lock-in)。
  • 企業級安全性: 提供廣泛的防護措施以防止內容盜取、盜版與作弊行為。

7. 發布與里程碑

  • 階段 1:MVP (最小可行性產品)
    • 核心認證與單一裝置綁定。
    • 基礎考試練習 (單選/複選題)。
    • Firebase 後端整合。
    • 基礎模擬考與計分。
  • 階段 2:智慧化與離線功能
    • AI 家教整合 (雲端 API)。
    • PowerSync 離線架構實作。
    • 錯題複習系統。
    • 搜尋功能。
  • 階段 3:變現與安全性
    • IAP 整合 (RevenueCat)。
    • 實作 10+ 層安全防護機制。
    • 廣告聯播網整合。
  • 階段 4:進階功能與社群
    • 裝置端 AI 降級備援 (Gemma)。
    • 討論區功能。
    • 語音模式與進階學習工具。
    • 完成管理員面板。

上一篇
第1天 ( 2026年8月2日 星期日 ) 購買 Google AI Pro 開始進行 將考國際證照的應用程式變成開源
下一篇
02-SDD-SystemOverview-Architecture-DataModels
系列文
將考國際證照的應用程式變成開源4
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言