Files
CFDivePlatform/openspec/changes/archive/2026-05-10-member-portal-mvp/proposal.md
T
a620906209 550e2fc97a feat:實作 Member Portal MVP 前端與後端整合
後端:
- 新增 DivingOffer Model / DivingOfferController(列表+詳情 API,支援搜尋/篩選/分頁)
- 修正 Google OAuth callback 改為 redirect 至前端(SocialAuthController)
- 新增 config/cors.php 允許前端 origin
- .gitignore 新增 frontend/ 排除規則

前端(frontend/):
- Vue 3 + Vite + Tailwind CSS + Pinia + Vue Router
- 頁面:首頁、課程列表、課程詳情、登入、註冊、個人資料、OAuth callback
- 整合至 Docker(multi-stage build,nginx 靜態服務於 port 5173)

Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
2026-05-10 01:41:28 +08:00

1.4 KiB
Raw Blame History

Why

CFDivePlatform 後端 API 已具備會員認證與基礎資料管理能力,但目前缺乏任何前端介面,使用者無法透過瀏覽器使用平台。建立獨立的會員端前端 MVP,讓潛水愛好者能瀏覽、搜尋課程,是平台從「有 API」走向「可用產品」的第一步。

What Changes

  • 新建獨立前端 repoVue 3 + Vite + Tailwind CSS),與此 Laravel repo 分開部署
  • 後端新增 Diving Offers 公開 API:課程列表(含搜尋/篩選)與課程詳情兩支 endpoint
  • 前端實作六個頁面:首頁、課程列表、課程詳情、登入、註冊、會員個人資料
  • 前端整合現有 Auth APISanctum token)與 Google OAuth redirect 流程

Capabilities

New Capabilities

  • diving-offers-api:後端提供公開的潛水課程列表與詳情 API,支援關鍵字搜尋、地區與標籤篩選
  • member-portal-ui:獨立前端應用,包含課程瀏覽、認證流程、會員個人資料等完整使用者介面

Modified Capabilities

(無)

Impact

後端(此 Laravel repo

  • 新增 DivingOfferController 與兩條 API 路由
  • diving_offers 資料表已存在,僅需新增 Model fillable 與 Controller

前端(新 repo

  • 獨立 Vue 3 repo,需另行建立專案結構
  • 依賴後端 API base URL(透過 .env 設定)
  • CORS 需在 Laravel 端設定允許前端 origin