上篇完成了系統整合測試、資料庫自我修復與 Google Drive 自動備份機制後,我們的 NGO 房間預約系統已通過技術層面的嚴格考驗。
今天我們進入 模組 G:系統驗收、用戶權限劃分與營運交接。我們將正式定義職工與管理員的權限矩陣、整理用戶驗收測試(UAT, User Acceptance Testing)報告,並提供一份可直接供 NGO 內部簽署的產品驗收與營運交接文件。
為了確保 NGO 組織內的資料安全與權限隔離,系統採取最小權限原則(Principle of Least Privilege)。系統使用者劃分為以下兩種角色:
| 功能項目 | 內部職工 (Staff) | 系統管理員 / 營運團隊 (Admin) | 權限控管機制與實作位置 |
|---|---|---|---|
| 預約房間 | ✅ 可操作 | ✅ 可操作 | 前端 Index.html 提交 / 後端即時自動核准 |
| 查看即時日曆與空席 | ✅ 可操作 | ✅ 可操作 | FullCalendar v6 視覺化呈現 |
| 現場 QR Code 簽到 | ✅ 可操作 | ✅ 可操作 | CheckInService.gs (掃碼觸發) |
| 取消/改期個人預約 | ✅ (受24HR規章限制) | ✅ (免受24HR限制) | CancellationService.gs 判斷 |
| 查看個人預約紀錄 | ✅ 僅限本人 | ✅ 全機構紀錄 | Google Sheet / Web App 檢視權限 |
| 接收 Telegram 異動通知 | ❌ (僅收Email) | ✅ 即時推播頻道 | TelegramBotService.gs |
| 查看系統 Error Logs | ❌ 無權限 | ✅ 可存取 | SystemLogs 工作表檢視權限 |
| 手動觸發資料庫備份/修復 | ❌ 無權限 | ✅ 可執行 | MaintenanceService.gs |
本報告彙整了系統在 Build on Google AI Track 架構下,經過 Day 19 至 Day 25 模組化開發後的測試驗證結果。
| 測試編號 | 測試項目 | 測試情境與輸入 | 預期結果 | 實際結果 | 狀態 |
|---|---|---|---|---|---|
| UAT-01 | 即時自動核准 | 提交不重疊的時段預約 (活動室 A1) | 系統跳過手動審核,直接寫入 Sheet,回傳成功 | 預約成功,無須手動審核 | PASS |
| UAT-02 | 時間衝突排查 | 嘗試預約已被佔用的相同時段 | 系統阻斷預約並回傳「時段重疊」警告 | 前端警告提示,無法重複登記 | PASS |
| UAT-03 | 24HR 免費取消 | 於使用前 30 小時申請取消預約 | 狀態標示為 CANCELLED,不收取罰則費用 |
狀態更新成功,免扣費用 | PASS |
| UAT-04 | 24HR 晚取消規章 | 於使用前 12 小時申請取消預約 | 狀態標示為 LATE_CANCELLED,記錄違規罰款 |
依規章記錄罰金與警示標籤 | PASS |
| UAT-05 | QR Code 簽到 | 掃描預約專屬簽到 QR Code | 狀態變更為 CHECKED_IN,記錄簽到時間 |
簽到成功,Telegram 推播通知 | PASS |
| UAT-06 | 逾時 Auto-Release | 預約開始 15 分鐘後未掃碼簽到 | 狀態變更為 CANCELLED_NO_SHOW,釋放時段 |
時段自動釋放,發送警示通知 | PASS |
| UAT-07 | 權限保護 Telegram | Telegram 推播新預約成功訊息 | 推播包含預約資訊,隱藏租賃費用與 AI 標籤 | 訊息格式正確,權限與隱私合規 | PASS |
| UAT-08 | 自動修復與備份 | 故意刪除 SystemLogs 工作表欄位並執行校驗 |
系統自動重建缺失欄位並順利備份至 Drive | 欄位自動補齊,備份檔產出 | PASS |
================================================================================
NGO 房間與資源預約系統 - 交付驗收證明書
================================================================================
【專案名稱】:NGO 房間預約 Web App (Build on Google AI Track)
【交付對象】:自助組織發展中心 / 合作 NGO 營運團隊
【交付日期】:2026 年 10 月 10 日
一、 交付軟體資產清單 (Deliverables)
1. Google Apps Script 後端服務碼:
- Config.gs (系統軟編碼參數設定檔)
- BookingService.gs (核心預約與衝突排查服務)
- CancellationService.gs (24小時規章與改期邏輯)
- CheckInService.gs (QR Code 簽到與 15 分鐘逾時釋放)
- TelegramBotService.gs (即時 HTML 異動推播中心)
- ErrorReportingService.gs (Try-Catch 與 SystemLogs 稽核)
- MaintenanceService.gs (自動修復、Drive 備份與 E2E 測試)
2. 前端介面:
- Index.html (FullCalendar v6 + Tailwind CSS 響應式介面)
3. 資料庫與儲存設備:
- Google Sheets 預約與日誌主庫 (ID 綁定)
- Google Drive 每日自動備份資料夾 (NGO_Booking_System_Backups)
二、 營運維護說明與開箱即用 (Operational Guidelines)
1. 系統網址:已部署為 Google Apps Script Web App,所有人皆可經由權限控管登入。
2. 營運規則摘要:
- 開放時段:每日 08:00 - 22:00(每節 30 分鐘,基本費率 HKD $50)。
- 房間清單:活動室 A1、活動室 A2、活動室 B1、活動室 B2、洽談室。
- 簽到規則:請於預約時間起 15 分鐘內完成掃碼簽到,逾時系統將自動釋放。
3. 技術支援與維護:
- 系統每週一凌晨 03:00 自動執行資料庫欄位結構校驗。
- 每日凌晨 02:00 自動將試算表備份至 Google Drive。
三、 驗收簽署 (Sign-off)
本系統已完成全套 UAT 用戶驗收測試,功能符合需求規格書 (SRD),確認正式上線運作。
受交付單位簽署:____________________ (代表) 日期:2026 年 ____ 月 ____ 日
開發團隊簽署:____________________ (代表) 日期:2026 年 ____ 月 ____ 日
================================================================================
我們完成了 系統驗收 (Handover Document)、用戶權限劃分與測試報告(UAT, User Acceptance Testing),明確了職工與管理員的權限邊界,並產出了規範化的驗收交接文件,標誌著系統正式邁入可交付狀態。
明天繼續……