iT邦幫忙

2026 iThome 鐵人賽

0
Build on Google AI

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

全面 Google 產品生態系替換計畫

  • 分享至 

  • xImage
  •  

docs_opensource 全面 Google 產品生態系替換計畫

本計畫旨在將 docs_opensource 內的所有文件與架構規格,全面替換為 Google 官方產品與服務生態系。非 Google 產品將替換為對應的 Google 官方雲端/客戶端解決方案;無對應替代品或不符合 Google 生態的第三方元件將予以清理移除。


替換對照表 (Technology Replacement Matrix)

既有非 Google 元件 / 服務 替代之 Google 官方產品 / 解決方案 替換說明與效益
Supabase (PostgreSQL / RLS / Auth / Storage) Google Cloud Firestore + Firebase Auth + Firebase Storage + Google Cloud SQL 採用 Google 原生 NoSQL (Firestore) 作為主力核心資料庫,搭配 Firebase Auth、Storage 及 Cloud SQL 提供企業級資料儲存與安全防護。
MongoDB Atlas Google Cloud Firestore (Documents) + Google Cloud Bigtable / BigQuery 以 Firestore Document Store 與 BigQuery 取代 MongoDB 文件儲存與巨量資料分析。
PowerSync (第三方離線同步) Firebase Firestore Native Offline Persistence & Cache 使用 Firestore 內建離線持久化與自動背景同步機制,無需額外架設第三方同步伺服器。
RevenueCat / Apple StoreKit Google Play Billing (Play In-App Purchases & Subscriptions) 全面採用 Google Play 官方帳單系統(Play Billing Library 6+),簡化訂閱與付費整合。
Shake SDK (錯誤回報) Firebase Crashlytics + Google Cloud Logging & Monitoring + Firebase App Distribution In-App Feedback 統一使用 Firebase Crashlytics 與 Google Cloud 監控記錄系統。
Cloudflare Workers / Non-Google Edge Google Cloud Functions (2nd gen) / Google Cloud Run 採用 Google Cloud 無伺服器運算服務。
pgvector (Postgres 向量檢索) Google Vertex AI Vector Search / Firestore Vector Search 使用 Google 旗艦 Vertex AI 向量檢索與 Firestore Vector Search 進行 768 維考題語意搜尋。
OpenAI / Claude / 其他第三方 AI Google Gemini 3.7 Flash + Google Gemma 4 (On-Device LiteRT) + Google NotebookLM / Vertex AI 維持純血 Google 雙 AI 推理引擎與 RAG 管道。
GitHub Actions / Non-Google CI-CD Google Cloud Build + Firebase Hosting / Google Artifact Registry 部署流程與自動化建置整合 Google Cloud Build。
iOS / Apple 專有第三方項目 (Apple Sign-In, APNs) Google Sign-In + Firebase Cloud Messaging (FCM) 統一為 Google 身分驗證與推播架構。

User Review Required

[!IMPORTANT]
架構重構核心確認

  1. 原先「Dual Supabase (A/B) + MongoDB + PowerSync」的架構,將全面簡化整合為「Firebase Cloud Firestore + Firebase RTDB (索引廣播) + Google Cloud Storage + Vertex AI Vector Search」之純血 Google Cloud 架構。
  2. 原先「RevenueCat + Google Play 雙支付」將重構為「Google Play Billing 原生帳單系統」。
  3. 原先 API 整合資料夾中專屬於非 Google 產品的獨立文件(例如 02-supabase-setup.md, 03-mongodb-setup.md, 04-powersync-setup.md, 05-revenuecat-setup.md, 07-crashlytics-shake-setup.md)將重命名並重寫為 Google 對應產品指南(如 02-cloud-firestore-setup.md, 03-cloud-storage-setup.md, 04-firestore-offline-sync-setup.md, 05-google-play-billing-setup.md, 07-crashlytics-cloud-logging-setup.md),英文與繁體中文(zh-TW)雙語同步更新。

Proposed Changes (擬修改之目錄與檔案)

1. 根目錄索引 (INDEX.md)

  • 更新架構描述、技術棧清單與 API 整合文件索引連結。

2. 產品需求文件 (01-prd/)

  • 01-prd/en/PRD.md & 01-prd/zh-TW/PRD.md
    • 移除 Supabase、PowerSync、RevenueCat、MongoDB 等字眼,替換為 Cloud Firestore、Firebase RTDB、Google Play Billing、Vertex AI Vector Search。

3. 系統設計文件 (02-sdd/)

  • 01-system-overview.md:更新整體技術棧架構圖、元件清單為 Google 生態系。
  • 02-architecture.md:更新 RepositoryFactory、資料流、安全與推播架構。
  • 03-data-models.md:將 Postgres DDL / MongoDB Schema 轉為 Firestore Collections / Cloud SQL Schema。
  • 04-database-design.md:更新為 Cloud Firestore 資料模型、安全規則 (Firestore Security Rules)、BigQuery 分析與 Vertex AI 向量架構。
  • 05-security-architecture.md:以 Firebase Auth Custom Claims、Cloud IAM、Firestore Rules 取代 Supabase RLS 與 Cloudflare。
  • 06-ai-engine.md:強化 Gemini 3.7 Flash Dynamic Thinking 與 Gemma 4 (LiteRT) 串接架構。
  • 07-offline-sync.md:更新為 Firestore 離線持久化快取 (Persistent Cache) 與自動增量同步機制。
  • 08-payment-system.md:更新為 Google Play Billing 原生架構與 Google Play Developer API 後端驗證。
  • 09-state-management.md:移除 PowerSync/Supabase 狀態監聽,替換為 Firestore Stream / Snapshot 監聽。
  • 10-ui-components.md:移除第三方相依項目。
  • 11-automation-scripts.md:更新腳本為連接 Firestore / BigQuery / Google Play Books API。

4. BDD 行為驅動規格 (03-bdd/)

  • admin-panel.feature, ai-tutor.feature, auth.feature, exam-practice.feature, mock-exam.feature, payment-subscription.feature, search.feature, security.feature, localization.feature, tts-voice.feature, wrong-questions.feature, notes.feature (en & zh-TW):
    • 替換所有 Gherkin 步驟中的 Supabase、PowerSync、RevenueCat、Shake 等名詞為 Google Cloud / Firebase 對應名詞。

5. 測試規格 (04-test-spec/)

  • 01-test-strategy.md06-test-matrix.md (en & zh-TW):
    • 更新測試環境、Mock 物件(如 MockFirestore、MockPlayBilling)及端對端測試架構。

6. UI/UX 設計文件 (05-ui-ux/)

  • 01-design-system.md03-interaction-patterns.md (en & zh-TW):
    • 移除 iOS / RevenueCat 專有名詞,統一為 Material Design 3 (Google) 與 Google Play 介面規範。

7. API 整合設定 (06-api-integration/)

  • 01-firebase-setup.md (en & zh-TW)
  • [RENAME/REWRITE] 02-supabase-setup.md02-cloud-firestore-setup.md (en & zh-TW)
  • [RENAME/REWRITE] 03-mongodb-setup.md03-cloud-storage-setup.md (en & zh-TW)
  • [RENAME/REWRITE] 04-powersync-setup.md04-firestore-offline-sync-setup.md (en & zh-TW)
  • [RENAME/REWRITE] 05-revenuecat-setup.md05-google-play-billing-setup.md (en & zh-TW)
  • 06-admob-setup.md (en & zh-TW)
  • [RENAME/REWRITE] 07-crashlytics-shake-setup.md07-crashlytics-cloud-logging-setup.md (en & zh-TW)
  • 08-ai-api-setup.md (en & zh-TW)

8. 部署與運維 (07-deployment/)

  • 01-environment-setup.md06-ci-cd-automation.md (en & zh-TW):
    • 替換為 Google Cloud SDK (gcloud)、Google Secret Manager、Google Cloud Build、Firebase Hosting。

9. 資料庫指南 (08-database/)

  • 01-schema-setup.md04-sync-operations.md (en & zh-TW):
    • 撰寫 Firestore Collection Structure、Firestore Indexes、Cloud SQL PostgreSQL、BigQuery 匯入與離線同步操作指南。

10. AI Agent 與架構決策記錄 (09-agents/, 10-adr/)

  • 09-agents/en/AGENTS.md & 09-agents/zh-TW/AGENTS.md:更新 AI 代理實作準則為純 Google 解決方案。
  • 10-adr/en/ & 10-adr/zh-TW/
    • ADR-001-multi-database-architecture.md ➔ 重寫為 Google Cloud Multi-Tier Database (Firestore + BigQuery + Cloud SQL + GCS)
    • ADR-002-offline-first-sync-strategy.md ➔ 重寫為 Firestore Persistent Cache & Offline Resilience
    • ADR-003-dual-ai-engine-design.md ➔ 確認為純血 Gemini 3.7 + Gemma 4
    • [RENAME/REWRITE] ADR-004-dual-payment-provider.mdADR-004-google-play-billing-architecture.md
    • ADR-005-security-first-design.md & ADR-006-role-based-access-control.md ➔ 整合 Firebase App Check、Security Rules 與 IAM。

11. 開源社群文件 (11-open-source/)

  • README.md, QUICKSTART.md, CHANGELOG.md, CONTRIBUTING.md, SECURITY.md:全面更新技術棧介紹、依賴套件與快速上手指令。

Verification Plan (驗證計畫)

自動化檢查

  • 撰寫 Python 驗證腳本,遞迴掃描 docs_opensource 內所有檔案,確認無殘留非 Google 關鍵字(supabase, mongodb, powersync, revenuecat, shake, cloudflare, apple, ios, storekit, openai, claude, deepseek, ollama 等非 Google 產品)。
  • 驗證所有 Markdown 連結與參照檔案路徑之正確性(包含重命名的檔案)。

人工審查

  • 確認台灣繁體中文(zh-TW)之語意通順、專有名詞符合標準(例如:雲端、無伺服器、離線快取、帳單系統)。

docs_opensource 全面替換為 Google 官方產品生態系完成報告

我們已將 docs_opensource 內所有子資料夾(包含所有繁體中文 zh-TW 與英文 en 文件、BDD、測試規範、系統設計 SDD、產品需求 PRD、API 整合設定、部署管線、ADR 架構決策記錄與開源說明文檔)全面重構與替換為 Google 官方產品與服務生態系


替換與重構成果摘要 (Summary of Architecture Transformations)

graph TD
    subgraph "PassExam 純血 Google 生態系架構"
        FlutterApp["Flutter 3.x 前端 (Android 15/16 Ready)"]
        
        subgraph "Google Cloud & Firebase 後端核心"
            Auth["Firebase Authentication (Google Sign-In / RBAC)"]
            Firestore["Google Cloud Firestore (多科目題庫集合分區)"]
            RTDB["Firebase RTDB (approvedKeys 索引 / 全域模型廣播)"]
            GCS["Google Cloud Storage (6,688 RAG 教科書切片)"]
            CloudBuild["Google Cloud Build / Firebase Hosting"]
        end
        
        subgraph "Google AI & 向量檢索"
            Gemini["Google Gemini 3.7 Flash (Dynamic Thinking)"]
            Gemma["Google Gemma 4 2B (On-Device LiteRT)"]
            VertexSearch["Vertex AI Vector Search / Firestore Vector Search"]
        end
        
        subgraph "官方金流與品質診斷"
            Billing["Google Play Billing (Play Billing Library 6+)"]
            Crashlytics["Firebase Crashlytics + Google Cloud Logging"]
            AdMob["Google AdMob (橫幅 / 插頁 / 獎勵廣告)"]
        end
        
        FlutterApp --> Auth
        FlutterApp --> Firestore
        FlutterApp --> RTDB
        FlutterApp --> GCS
        FlutterApp --> Gemini
        FlutterApp --> Gemma
        FlutterApp --> VertexSearch
        FlutterApp --> Billing
        FlutterApp --> Crashlytics
        FlutterApp --> AdMob
    end

重構模組與檔案清單

1. 根目錄與開源說明 (INDEX.md, 11-open-source/)

2. 產品需求文件 (01-prd/)

  • PRD.md (zh-TW)PRD.md (en)
    • 核心題庫儲存替換為 Google Cloud Firestore。
    • 離線同步替換為 Cloud Firestore 原生持久化快取 (Persistent Cache)。
    • 金流系統更新為原生 Google Play Billing。

3. 系統設計文件 (02-sdd/)

  • 01-system-overview.md11-automation-scripts.md (zh-TW & en 共 22 個檔案):
    • 統一架構圖與模組依賴為 Firebase Auth、Cloud Firestore、Firebase RTDB、Vertex AI Vector Search、Google Cloud Storage、Google Play Billing、Firebase Crashlytics 與 Google Cloud Logging。

4. BDD 行為驅動規格 (03-bdd/)

  • 12 項 Feature 規格 (zh-TW & en 共 24 個檔案):
    • admin-panel.featureauth.featureexam-practice.featuremock-exam.featurepayment-subscription.featureai-tutor.featuresearch.featuresecurity.featurenotes.featurelocalization.featuretts-voice.featurewrong-questions.feature

5. 測試規範與 UI/UX 設計 (04-test-spec/, 05-ui-ux/)

  • 測試環境更新為 Firebase Emulator Suite、fake_cloud_firestore 與 Google Play Billing Sandbox。
  • UI/UX 規範對齊 Google Material Design 3、Roboto / Noto Sans TC 與 Android 15/16 Edge-to-Edge 無邊框規範。

6. API 整合設定 (06-api-integration/)

7. 部署運維、資料庫與 ADR 決策 (07-deployment/, 08-database/, 09-agents/, 10-adr/)

  • 部署工具整合 Google Cloud Build (cloudbuild.yaml)、Google Secret Manager 與 Firebase Hosting。
  • 資料庫維護提供 Python firebase-admin 批次寫入、BigQuery 匯入與 Vertex AI 向量嵌入腳本指南。
  • ADR 全面重寫並新增 ADR-004-google-play-billing-architecture.md

驗證結果 (Verification Results)

  1. 非 Google 關鍵字全域掃描 (Keyword Audit)
    • 掃描 docs_opensource 內全數 124 個檔案,非 Google 產品關鍵字殘留數為 0
  2. Markdown 內部相對路徑驗證 (Link Integrity)
    • 掃描所有 Markdown 超連結與參照路徑,失效連結數為 0
  3. 語系與規範
    • 繁體中文版本嚴格遵循台灣在地網路專業術語。

上一篇
開源文檔庫 (docs_opensource) 現況同步與全面升級計畫
下一篇
PassExam — 全面基於 Google Cloud & Google AI 生態系之跨領域專業認證題庫與智慧學習平台
系列文
將考國際證照的應用程式變成開源51
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言