← 返回作品集

イベント受付システム

完成

活動報名系統

Event Registration System

完整報名流程:填表 → 付款確認 → Email 通知
Full registration flow: form → payment → email notification

為文化活動主辦單位製作的線上報名售票系統,前後端分離架構:後端 Flask API 處理報名、付款與通知邏輯,前端純 HTML/CSS/JS 頁面,部署在 Render(gunicorn 啟動)。

架構圖 · Architecture

載入架構圖…

架構 · Architecture

  • 後端(backend/):Flask API 入口 app.py,拆分 config/registration_service/sheet_service/email_service/models/errors/logging_utils/startup_guard 等模組
  • 前端(frontend/):templates + static 靜態資源,與後端完全分離
  • 資料儲存:Google Sheets API 即時寫入,非傳統資料庫
  • 部署:Render 免費方案,WSGI 入口 backend.app:app,並保留根目錄 app.py shim 相容舊版 gunicorn 啟動指令

技術亮點 · Highlights

  • 雙軌付款確認:LINE 私訊或 Email 回覆皆可,並附「帳號後五碼」加速對帳
  • Email 發送失敗有獨立重試佇列(/api/retry-email-queue),不會靜默丟信
  • 明確的錯誤碼系統:E_VALIDATION、E_SHEET_UNAVAILABLE、E_SHEET_WRITE、E_SMTP_SEND 等,方便追蹤問題發生在哪一層
  • 響應式前端設計,行動裝置參加者選擇器改為下拉式選單操作

API

  • GET /api/bootstrap — 載入活動設定與剩餘名額
  • POST /api/register — 送出報名
  • POST /api/retry-email-queue — 重送失敗付款信
PythonFlaskJavaScriptGoogle Sheets APILINE PayGunicorn