全程使用 Google Antigravity 進行開發 OpenPassExam 多平台 App
https://youtu.be/Ttg1bECFTy8
開發來源需求及規格依據
https://github.com/alan-nanpie/OpenPassExam/tree/main/docs_opensource
以下是開發使用的提示詞及開發過程和結果記錄
/goal
請依照 docs_opensource 資料夾內的各檔案內容要求 ( 包含各子資料夾內所有子資料夾及檔案 ) 來進行開發各平台都適用的 App
依據 docs_opensource 目錄中的全套規格(PRD、SDD、BDD、ADR、UI/UX、API 整合及自動化腳本),我們已成功建立 PassExam 跨平台 Flutter / Google Cloud 生態系應用程式。
RepositoryFactory 路由:依 subjectId 自動路由至對應的 Google Cloud Firestore 集合路徑 (exam_subjects/{subjectId}/questions)。SINGLE_CHOICE)、複選題 (MULTIPLE_CHOICE)、拖曳配對題 (DRAG_DROP) 與實作模擬題 (SIMULATION)。本機覆寫 ➔ Firebase RTDB 廣播 ➔ Firebase Remote Config ➔ 內建預設值。<thought>...</thought> 思考區塊。EnhancedSecurityWatermark:8 列 4 欄以 45 度旋轉傾斜疊加使用者 UID、姓名與日期動態浮水印,防實體側錄。FLAG_SECURE:Android 原生層啟用 FLAG_SECURE,防螢幕截圖、錄影與 HDMI 投影。SafeImageWidget:鎖定 cacheWidth: 1024 解碼降取樣,杜絕考題拓撲大圖引發 JVM OOM。ComputeHelper (ANR 防禦):超過 500 行之大文字串接、JSON 解析與 RAG 格式化強制於背景 Isolate 運算,杜絕 StringBuffer._addPart ANR 死鎖。ExamTimerWidget:計時器採用 ValueListenableBuilder 局部重繪,避免全頁面重建引發解碼抖動。MainActivity.kt 原生啟用 enableEdgeToEdge()。QuestionImageReferenceDialog)scripts/)scripts/fetch_firestore_books.py:從 Firestore 提取已審核題庫。scripts/build_ccna_epub.py:編譯 EPUB 3 標準電子書與語音無障礙導讀標籤。scripts/publish_to_play_books.py:產出 ONIX 3.0 中繼資料與 Play Books 上架套件。scripts/extract_gcs_rag_knowledge.py:提煉 6,688 個 GCS RAG 切片。scripts/seed_database.py:批次匯入 18+ 科目種子資料。執行靜態程式碼分析與全套單元/Widget 測試:
flutter analyze lib
# No issues found! (0 Errors, 0 Warnings, 0 Infos)
flutter test
# All 15 tests passed! (100% Passed)
測試涵蓋項目:
Question 模型 camelCase 與 snake_case 雙向解析相容性測試。ComputeHelper 背景 Isolate 文字運算與 RAG 格式化測試。SafeImageWidget 佔位圖示與降取樣測試。EnhancedSecurityWatermark 8x4 個人化動態浮水印測試。ExamTimerWidget 局部重繪計時測試。PassExamAppRoot 整合冒煙測試 (Smoke Test)。整個開發出來的程式和文件,請參閱
https://github.com/alan-nanpie/OpenPassExam/
iThome鐵人賽