跳至主要內容

里程碑

從一份表單到一套預約系統:我的師大塔羅週開發紀錄

OwO @owolll_6769發布於

專案|XX塔羅社 2026 塔羅週線上預約系統
使用工具|Google Apps Script、Google Sheets、HTML/JavaScript、AI 輔助開發

01|起點:我想解決的不是表單,而是預約管理

一開始,我只是想為XX塔羅社的塔羅週設計一份更方便使用的預約表單。

活動連續五天,每天七個預約時段,總共 35 個時段。除了安排不同的值班占卜師,還要處理每個時段的剩餘名額、指定對象及重複預約等問題。

如果只使用一般的 Google 表單,雖然能蒐集資料,卻很難即時管理名額,也無法讓參與者清楚知道哪些時段還能預約。

於是,我開始思考:能不能在不增加社團成本的前提下,建立一套真正能自動管理預約的系統?

02|需求設計:比寫程式更難的是訂清楚規則

真正開始規劃後,我才發現,最需要花心思的不是網頁長什麼樣子,而是如何把活動規則轉換成具體的系統邏輯。

例如,每個時段只有五個名額,而且是所有占卜師共同使用,並不是每位占卜師各有五席。參與者可以跨日期、一次預約多個時段,但同一時段不能同時預約兩位占卜師。

另外,我們也設計了「不指定占卜師」的選項,讓參與者保留時段名額,由現場安排服務人員。

另一個難題是多人同時預約:如果一次選了四個時段,其中一個剛好額滿,系統該全部退回,還是讓其他三筆成立?最後我們採取逐筆處理的方式,並讓使用者清楚看見成功與失敗的結果。

這個過程讓我理解,制度沒有定義清楚,再完整的程式也無法替我們做決定。

03|系統搭建:讓網頁、程式與試算表彼此連動

在比較不同免費工具後,我最後採用 Google Sheets、Google Apps Script 和 HTML/JavaScript 建立系統。

Google Sheets 不再只是存放名單的表格,而是整個預約系統的資料管理核心。我將資料分成值班設定、週預約總覽、預約明細、訂單紀錄和系統設定等不同工作表,讓工作人員可以分別管理班表、確認預約狀態及調整活動資訊。

Apps Script 的 Code.gs 負責讀取班表、辨識時段、檢查剩餘名額、處理預約及寫入紀錄;Index.html 則提供參與者實際操作的預約頁面,包括日期切換、占卜師選擇、剩餘席次顯示,以及送出前的預約確認。

我們也加入 Email 通知規劃,分別考慮預約者的確認信、管理員的通知,以及活動前提醒。這部分並不只是讓程式寄出信件,還需要反覆思考收件對象、寄送時機、資訊是否完整,以及信件內容是否容易閱讀。

我逐漸發現,一個看似簡單的預約按鈕,背後其實連接著資料結構、執行規則與使用者體驗。

04|反覆修正:真正學到最多的地方

整個開發過程並不是一次完成的。

我們測試過名額扣除、取消後恢復席次,以及多筆預約部分成功的情況,也不斷因應社團需求修改班表、占卜師名單和頁面文字。

其中一個印象深刻的問題,是學校使用的節次名稱與系統原本的編號不同。如果直接修改試算表的數字,可能導致後端無法辨識原本的時段。因此,我們最後保留內部識別碼,只調整對外顯示的節次名稱。

另一個讓我卡住很久的問題,是明明修改了 HTML,網頁卻一直顯示舊版本。後來才發現,Apps Script 的 doGet() 仍然讀取另一份 HTML 檔案。再加上測試網址 /dev、正式網址 /exec 與版本部署之間的差異,讓我真正理解「儲存程式碼」不等於「使用者已經看到新版」。

甚至在正式網頁名稱更新後,LINE 分享預覽仍可能保留舊的測試版名稱。這些問題讓我意識到,網頁本身、部署版本與外部平台的顯示,並不是同一件事。

在一次次修改中,我開始重視備份、縮小修改範圍,以及每次修改後的驗證,而不再只是急著讓畫面看起來正確。

05|成果與心得:學會把需求變成能運作的流程

目前,我們已建立正式預約網頁,完成五天共 35 個時段的班表架構,並測試多時段預約、名額扣除及取消恢復等功能。系統也具備管理試算表與 Email 通知相關設定,能依照班表調整開放狀態。

對我而言,這次最重要的成果不只是一個網站,而是第一次比較完整地經歷了需求整理、制度建立、資料規劃、程式實作、測試修正到正式部署的過程。

AI 確實幫助我跨過不少程式開發的門檻,但它不會自動理解社團真正需要什麼。哪些規則合理、發生衝突該如何處理、修改後有沒有影響其他功能,仍然需要我不斷確認與判斷。

從原本只想做一份預約表單,到後來必須考慮管理者、占卜師與參與者三方的使用需求,我開始理解:系統開發不只是讓功能運作,更是把原本模糊的需求整理成清楚、可靠且能持續維護的流程。

這是我在這個專案中最有價值的一次學習。

#歡迎北部的盆友來預約系統找我算牌XDXDD

屏幕截图 2026-11-10 145059.png屏幕截图 2026-11-10 144927.png屏幕截图 2026-11-10 144747.png屏幕截图 2026-11-10 144715.png塔羅週預約系統開發歷程 infographic.png

1 個愛心0 則留言

登入並驗證手機後就能留言。登入