隨著專案進入尾聲,我們的 NGO 房間預約系統已完成所有核心開發與驗收測試。在鐵人賽「Build on Google AI Track」中,這套系統之所以能夠在短短 30 天內從無到有順利落地,背後的技術選型與架構設計起到了決定性的作用。
今天我們進行系統性的技術架構覆盤,深度剖析 軟編碼(Soft-coding)設計模式 的實踐優勢,以及 Google Apps Script (GAS) Serverless 架構 如何為資源有限的 NGO 實現真正的零維護成本(Zero-Maintenance Cost)。
在傳統軟體開發中,常將房間清單、營運時間、費用與通知管道等參數直接硬編碼(Hard-coding)在業務邏輯程式碼中。然而,當 NGO 的營運規則變更(例如:新增活動室 C1、調整營運時間至 23:00、更改租賃費率)時,往往需要工程師修改程式碼並重新部署,這對缺乏專職 IT 人員的機構來說是極大的維護痛點。
本系統全體採用 Config.gs 軟編碼架構,將所有營運參數集中抽象化:
[ Config.gs ] (集中配置中心)
│
┌────────────────────────────┼────────────────────────────┐
▼ ▼ ▼
[ 1. 營運參數 ] [ 2. 房間清單 ] [ 3. API & 權限 ]
- 營業時間 (08:00-22:00) - 活動室 A1, A2 - Telegram Token
- 時段單位 (30 mins) - 活動室 B1, B2 - Chat ID
- 基本費率 (HKD $50) - 洽談室 - SPREADSHEET_ID
- 取消臨界 (24HRs)
BookingService.gs 中的時間衝突演算法)只與配置鍵值互動,完全不依賴特定字串或固定數值。Config.gs 或後台 Sheets 的 Setting 頁籤中修改數值,全系統(包含前端日曆與後端推播)即可瞬間同步生效,無須重新編譯或 redeploy Web App。Config.gs 內的試算表 ID 與 Telegram Token,便能在 5 分鐘內上線一套全新的獨立預約系統。在技術選擇上,我們沒有選擇傳統的 Node.js + PostgreSQL + Docker + Cloud Run 組合,而是採用 Google Apps Script + Google Sheets + Google Drive 的純 Serverless 組合。
[前端 FullCalendar v6] ──(google.script.run)──► [ GAS Serverless 引擎 ]
│
┌─────────────────┴─────────────────┐
▼ ▼
[ Google Sheets 主庫 ] [ Google Drive 備份 ]
(Bookings / SystemLogs) (自動備份與備援)
doGet/doPost)或定時觸發器(Time-driven Triggers)喚醒,有請求時自動分配算力,無請求時自動歸零,完全無需管理伺服器(Serverless)。SpreadsheetApp 與 DriveApp 原生 SDK,直接將 Google Sheets 當作即時資料庫(NoSQL/Table View),並將 Google Drive 作為雲端備份空間,免去了繁瑣的資料庫連線池(Connection Pool)與 ORM 架構維護。對於預算與人力資源皆高度受限的 NGO 非營利組織而言,軟體的總體擁有成本(Total Cost of Ownership, TCO) 往往比開發初期成本更為關鍵。
| 比較維度 | 傳統雲端架構 (AWS / GCP Cloud Run + SQL) | 本系統架構 (GAS Serverless + Google Sheets) |
|---|---|---|
| 伺服器託管費用 | 需支付 VM/Container 與 Cloud SQL 最小營運底費(約 USD $20 - $50+/月) | 免費 $0(完全利用 Google Workspace/Free 帳號免費額度) |
| SSL 憑證與網域 | 需每年續約網域與設定 SSL 憑證 | 免費 $0(預設享有 Google 官方高強度 HTTPS 加密) |
| 維護與修補成本 | 需要定期更新 OS 補丁、Node.js 模組版本與資料庫安全性備份 | 零維護(由 Google 基礎設施全權維護底層安全) |
| 災難復原 (DR) | 需手動撰寫 Snapshot 腳本與 S3 備份設定 | 自動化(搭配之前的 Drive 定時複製,零成本復原) |
今天我們進行了 架構覆盤:軟編碼(Soft-coding)與 Google Apps Serverless 的實戰優勢,總結了系統在維護性、擴充性與營運成本上的突破,證明了「適合的技術才是最好的技術」。
明天繼續……