← 返回 Projects

PROJECT / PILATES-TEACHER-PLATFORM

Paused

普拉提老師 Client Portal

Pilates Client Portal

為獨立普拉提老師而設的輕量 Client Portal,集中管理客戶、套票堂數和預約。需求推導和資料模型已經做完,但一個人做不起,暫停開發,直至找到合作夥伴才重啟。

STATUS
PAUSED
CURRENT PHASE
暫停開發,等待合作夥伴
TECH STACK
Next.js / TypeScript / Supabase / PostgreSQL / Tailwind CSS / Zod / Vitest / Playwright
DEMO
NOT AVAILABLE

01 / THE PROBLEM

為甚麼想做這個 Project?

獨立普拉提老師同時用 WhatsApp、Google Calendar、Excel 和紙筆管理預約與套票堂數。學生問「我還剩幾多堂」要人手翻查,改期訊息散落在對話裡,漏記扣堂會直接影響收入和信任。

暫定使用對象
  • 獨立普拉提老師
  • 私人教練
  • 私人課及小班課學生

這個項目正在實作中。頁面只記錄已做的進度,未完成的部分不會先包裝成成果。

02 / EVOLUTION ROADMAP

不是一次完成,
而是一段一段 build。

Roadmap 只反映目前規劃,不代表功能已經完成。每個階段都可能因實測結果而調整。

  1. 01
    In progress

    需求推導

    用競品的功能頁、說明文件和低分評價,加上老師公開的套票與取消政策,推導真實工作流程和例外情況。每條假設標明來源和風險。

  2. 02
    Not started

    使用流程與 Wireframe

    先確定老師端和學生端各自要看到甚麼,做出可點擊的手機版流程,再決定資料結構。

  3. 03
    Not started

    資料模型與 Schema

    設計客戶、套票、課堂、預約之間的關係,處理 constraint 和 index,而不只是把欄位堆在一起。

  4. 04
    Not started

    登入、邀請與權限

    老師與學生兩種角色的登入和邀請流程,並用 server-side 檢查加 PostgreSQL RLS 做兩層防護,確保學生讀不到別人的資料。

  5. 05
    Not started

    課堂與預約流程

    可預約時段、學生提交預約、老師確認和完成,處理狀態轉換的合法性而不是靠畫面隱藏按鈕。

  6. 06
    Not started

    套票與 Credit Ledger

    不只在套票上存一個剩餘數字,而是把加堂、扣堂、退款、調整和到期都寫成流水帳,並用 transaction 和唯一約束確保完成課堂只扣一次。

  7. 07
    Not started

    學生 Dashboard

    學生登入後看到自己的有效套票、剩餘堂數、到期日、預約狀態和歷史紀錄。

  8. 08
    Not started

    測試與安全檢查

    Unit、Integration 和 E2E 測試,重點驗證跨客戶讀取會被拒絕,以及重複提交不會重複扣堂。

  9. 09
    Not started

    公開試用與問題收集

    把 Demo 公開讓人實際試用,收集問題、錯誤和被推翻的假設。

  10. 10
    Not started

    部署、監控與案例整理

    環境設定、Migration、錯誤追蹤,最後把整個過程整理成一篇完整案例。

NEXT STEP

等待合適的合作夥伴,再重新啟動。

需求推導和資料模型已經整理好。找到合適的合作夥伴後,才會重新確認範圍和繼續開發;這裏會保留目前的決策和進度。