TC Toyo ChangMarTech Engineer ← 回作品集

CASE 14 / 16

九九峰 4 周年尋4大作戰:50 組 QR 的園區集點系統

免登入就能參加的園區尋寶活動,把掃碼、集點、進度找回、來源歸因與現場兌獎整合成一條流程

StatusDeployedStackNext.js | Cloudflare | D1FocusEvent Experience

已完成正式部署與活動前驗證:50 組 QR 全數更新,正式環境的建立進度、來源選擇、首次掃描與重複掃描往返均通過。

示範影片(無聲)· 遊客端完整動線:來源問卷、掃碼集點、等級升級到核銷解鎖。所有後端回應皆為測試資料,正式活動的參加紀錄未被讀取或寫入。

活動卡點:好玩的尋寶機制,背後需要可靠的現場系統

園區希望用「尋4大作戰」讓遊客主動探索各區,但活動不能只做一張會開網頁的 QR Code。實際營運需要同時解決:

  • 不能重複計點:同一個 QR 重掃只能提示,不能讓累積數失真。
  • 不能綁死在同一台手機:遊客清除 Cookie 或換裝置後,仍要有方法找回進度。
  • 兌獎必須可控:只有現場工作人員能完成核銷,且同一份進度不能重複領獎。
  • 活動要能覆盤:需要知道參加者從廣告、分享、官網或現場何處得知活動。
  • 現場網路不一定穩定:高峰掃描、短暫資料庫忙碌與相機辨識速度,都要有明確處理方式。

產品策略:免登入參加,關鍵狀態由系統保護

本專案把遊客端操作壓到最短:開啟頁面、選擇活動來源、掃描 QR、查看進度。帳號註冊被 10 碼恢復編號取代,降低進場摩擦;掃描、計點與核銷則交由後端驗證,避免只靠前端狀態。

核心功能

遊客流程

  • 50 組唯一 QR:每個園區點位使用獨立 token,正式重置後與舊 token 完全分離。
  • 掃描去重:首次掃描累積進度,重複掃描顯示醒目提示但不重複計算。
  • 6 級集點成就:依 8、16、24、32、40、50 個掃描數逐級回饋。
  • 恢復編號:建立進度時提供 10 碼編號,換裝置或遺失 Cookie 後可找回。
  • 來源問答:記錄 FB、IG、朋友分享、現場或官網等活動來源,留下行銷歸因鉤子。

現場營運

  • 工作人員核銷:以受保護的工作人員流程完成兌獎,已核銷狀態不可重複使用。
  • 活動日操作手冊:定義開場前測試、常見狀態碼、限流、監控與異常應對。
  • 雙掃描引擎:支援原生 BarcodeDetector 的裝置優先使用快速辨識,不支援時自動退回 ZXing。
  • 可恢復錯誤處理:針對請求過快與資料庫暫時忙碌,前端會依回應延遲重試。

技術亮點

  • 後端原子計點:掃描紀錄與參加者計數在同一資料庫交易中處理,避免重送造成重複累積。
  • 可辨識模糊提交:資料庫已成功寫入但回應中斷時,利用同次操作時間辨識重播,不把成功誤報為失敗。
  • 持久化限流:限流寫入 Cloudflare D1,不依賴單一執行環境的記憶體,活動尖峰下仍能保護掃描與核銷端點。
  • QR 密度優化:token 調整為 72-bit 隨機值,QR 由 41 模組降為 37 模組,提高 5 公分印刷品的辨識容錯。
  • 正式資料保護:活動資料沒有測試標記時,操作手冊明確禁止依時間直接批次清除,避免誤刪參加者紀錄。

系統架構

遊客開啟活動頁
  │
  ├── 建立免登入 Session ── 取得恢復編號
  ├── 選擇活動來源 ──────── 留下歸因資料
  └── 掃描園區 QR
        │
        ├── token 驗證與持久化限流
        ├── Cloudflare D1 原子去重與計點
        ├── 6 級成就與下一階提示
        └── 工作人員核銷 ── 防止重複兌獎

技術棧

  • 前端與應用框架:Next.js、React、TypeScript
  • 部署與執行環境:Cloudflare Workers
  • 資料庫:Cloudflare D1、Drizzle ORM
  • 掃描能力:BarcodeDetector、ZXing
  • 營運資產:50 張 QR PNG、5 頁印刷 PDF、CSV 與部署素材包

驗證證據

  • 50 組新 token 與雜湊皆唯一,且與舊雜湊沒有重疊。
  • 全新本機 D1 可依序執行完整 migration,資料庫只保留新雜湊。
  • 正式環境完成 Session → 來源 → 新 QR → 重複 QR 往返:首次計數為 1,重複掃描仍維持 1。
  • 正式 D1 的 50 組新雜湊全數命中,舊雜湊命中數為 0。
  • TypeScript、ESLint、production build 與差異格式檢查全數通過。
  • 5 頁 QR 印刷 PDF 已逐頁渲染,抽查首頁與末頁沒有裁切。

AI 協作筆記:本專案的活動流程拆解、QR 安全設計、掃描競態處理、D1 限流與現場操作手冊,透過 AI 協作完成設計、實作與逐項驗證;最終規則與上線責任仍由人員確認。

← 回作品集總覽