- README:更新功能概覽(Token 刷新、圖片壓縮、教練審核流程、測試欄) 新增測試帳號表格與教練頁入口說明(/coach/login) - .env.example:刪除誤植的 README 殘留行,補上完整 REVERB_* 與 VITE_REVERB_* 區塊 - .gitignore:忽略 .windsurf/rules Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -67,3 +67,15 @@ VITE_APP_NAME="${APP_NAME}"
|
||||
|
||||
SENTRY_LARAVEL_DSN=
|
||||
SENTRY_ENVIRONMENT="${APP_ENV}"
|
||||
|
||||
REVERB_APP_ID=
|
||||
REVERB_APP_KEY=
|
||||
REVERB_APP_SECRET=
|
||||
REVERB_HOST=localhost
|
||||
REVERB_PORT=8085
|
||||
REVERB_SCHEME=http
|
||||
|
||||
VITE_REVERB_APP_KEY="${REVERB_APP_KEY}"
|
||||
VITE_REVERB_HOST="${REVERB_HOST}"
|
||||
VITE_REVERB_PORT="${REVERB_PORT}"
|
||||
VITE_REVERB_SCHEME="${REVERB_SCHEME}"
|
||||
@@ -27,3 +27,6 @@ yarn-error.log
|
||||
/frontend/dist
|
||||
/frontend/.env
|
||||
|
||||
# windsurf
|
||||
.windsurf/rules
|
||||
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
|
||||
**會員(Member)**
|
||||
- 註冊 / 登入(Email + Google OAuth)
|
||||
- Token 自動續期(401 refresh-then-retry,sessionStorage 儲存)
|
||||
- 瀏覽、搜尋、篩選潛水課程
|
||||
- 查看課程時段並送出預約
|
||||
- 與教練即時訊息(文字 + 圖片,含已讀回執)
|
||||
@@ -15,14 +16,16 @@
|
||||
- 站內通知(Bell Icon 即時更新 + 瀏覽器推播)
|
||||
|
||||
**教練(Provider)**
|
||||
- 課程 CRUD(含封面 + 相簿圖片上傳)
|
||||
- 課程 CRUD(含封面 + 相簿圖片上傳,伺服器端壓縮)
|
||||
- 課程時段管理
|
||||
- 預約管理(確認 / 拒絕 / 完成 / 取消)
|
||||
- 與學員即時訊息
|
||||
- 證照上傳與教練資格送審
|
||||
|
||||
**管理員(Admin)**
|
||||
- 平台統計數據(會員數、教練數、課程數)
|
||||
- 會員與教練帳號管理(啟用 / 停用 / 審核)
|
||||
- 會員與教練帳號管理(啟用 / 停用)
|
||||
- 教練資格審核(送審 / 通過 / 駁回 / 撤銷)
|
||||
- 課程、預約、評價管理
|
||||
|
||||
---
|
||||
@@ -36,17 +39,18 @@
|
||||
| 資料庫 | MySQL 8.0 |
|
||||
| 快取 | Redis |
|
||||
| 即時通訊 | Laravel Reverb(WebSocket,`wss://ws.hank-space.com`)|
|
||||
| 認證 | Laravel Sanctum + Google OAuth |
|
||||
| 認證 | Laravel Sanctum + Google OAuth + Token Refresh |
|
||||
| 容器 | Docker / Docker Compose |
|
||||
| API 文件 | Swagger UI(l5-swagger)|
|
||||
| 錯誤監控 | Sentry |
|
||||
| CI/CD | Gitea Actions(自動部署至 VPS)|
|
||||
| 測試 | PHPUnit / Laravel Feature & Unit Tests |
|
||||
|
||||
---
|
||||
|
||||
## API 文件
|
||||
|
||||
共 73 個端點,涵蓋:
|
||||
Swagger 文件涵蓋公開、會員、教練、管理員與認證端點,包含:
|
||||
- 認證(Email + Google OAuth)
|
||||
- 公開課程查詢
|
||||
- 會員預約 / 訊息 / 評價 / 通知
|
||||
@@ -67,11 +71,16 @@ GET /health
|
||||
|
||||
## 本地開發
|
||||
|
||||
**啟動**
|
||||
**測試用帳號**
|
||||
|
||||
```bash
|
||||
docker compose up -d
|
||||
```
|
||||
| 角色 | 帳號 | 密碼 | 用途 |
|
||||
|------|------|------|------|
|
||||
| 會員 | Guest@cfdive.com | guestpassword | 體驗課程瀏覽、預約、會員預約紀錄 |
|
||||
| 教練 | Guest_Coach@cfdive.com | coachpassword | 體驗課程管理、時段管理、預約管理 |
|
||||
|
||||
**教練頁入口**
|
||||
|
||||
目前首頁尚未提供明顯導引到教練後台的入口。若要體驗教練功能,請直接開啟 `/coach/login`,使用上方教練試用帳號登入後會進入 `/coach/dashboard`。
|
||||
|
||||
| 服務 | URL |
|
||||
|------|-----|
|
||||
@@ -79,13 +88,3 @@ docker compose up -d
|
||||
| phpMyAdmin | http://localhost:8081 |
|
||||
| Mailpit | http://localhost:8025 |
|
||||
| Reverb WebSocket | ws://localhost:8085 |
|
||||
|
||||
**環境設定**
|
||||
|
||||
複製 `.env.example` 為 `.env`,填入以下必要值:
|
||||
|
||||
```env
|
||||
REVERB_APP_KEY= # 32 字元隨機字串
|
||||
REVERB_APP_SECRET= # 32 字元隨機字串
|
||||
SENTRY_LARAVEL_DSN= # Sentry DSN(留空則停用)
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user