From 4feeeff94a573f48c1d29a19c6b0a78005ca9c94 Mon Sep 17 00:00:00 2001 From: Hank Date: Mon, 25 May 2026 01:17:25 +0800 Subject: [PATCH] =?UTF-8?q?docs:=E8=A3=9C=E5=85=A8=E6=89=80=E6=9C=89=20API?= =?UTF-8?q?=20=E7=AB=AF=E9=BB=9E=20Swagger=20=E6=96=87=E4=BB=B6=EF=BC=8873?= =?UTF-8?q?=20=E5=80=8B=E7=AB=AF=E9=BB=9E=EF=BC=89?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 修正 AuthApiDoc.php 路徑錯位(/register/member → /member/register 等) 及 change-password 方法(Post→Put);補上 POST /logout、GET /user - 新增 AuthSupplementDoc.php(Google OAuth 2 端點) - 新增 PublicApiDoc.php(共用 Schema + 公開課程 4 端點) - 新增 MemberApiDoc.php(預約、評價、通知共 13 端點) - 新增 ProviderApiDoc.php(課程、圖片、時段、預約管理共 18 端點) - 新增 AdminApiDoc.php(統計、會員/教練/課程管理共 16 端點) - 更新 README.md - 歸檔 swagger-api-docs-completion change,同步主規格 Co-Authored-By: Claude Sonnet 4.6 --- README.md | 51 +- app/Docs/AdminApiDoc.php | 504 ++ app/Docs/AuthApiDoc.php | 113 +- app/Docs/AuthSupplementDoc.php | 96 + app/Docs/MemberApiDoc.php | 418 ++ app/Docs/ProviderApiDoc.php | 585 +++ app/Docs/PublicApiDoc.php | 247 + .../.openspec.yaml | 0 .../design.md | 0 .../proposal.md | 0 .../specs/swagger-admin-api/spec.md | 0 .../specs/swagger-auth-supplement/spec.md | 0 .../specs/swagger-member-api/spec.md | 0 .../specs/swagger-provider-api/spec.md | 0 .../specs/swagger-public-api/spec.md | 0 .../tasks.md | 48 +- openspec/specs/swagger-admin-api/spec.md | 40 + .../specs/swagger-auth-supplement/spec.md | 21 + openspec/specs/swagger-member-api/spec.md | 33 + openspec/specs/swagger-provider-api/spec.md | 43 + openspec/specs/swagger-public-api/spec.md | 30 + storage/api-docs/api-docs.json | 4329 ++++++++++++++++- 22 files changed, 6492 insertions(+), 66 deletions(-) create mode 100644 app/Docs/AdminApiDoc.php create mode 100644 app/Docs/AuthSupplementDoc.php create mode 100644 app/Docs/MemberApiDoc.php create mode 100644 app/Docs/ProviderApiDoc.php create mode 100644 app/Docs/PublicApiDoc.php rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/.openspec.yaml (100%) rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/design.md (100%) rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/proposal.md (100%) rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/specs/swagger-admin-api/spec.md (100%) rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/specs/swagger-auth-supplement/spec.md (100%) rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/specs/swagger-member-api/spec.md (100%) rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/specs/swagger-provider-api/spec.md (100%) rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/specs/swagger-public-api/spec.md (100%) rename openspec/changes/{swagger-api-docs-completion => archive/2026-05-25-swagger-api-docs-completion}/tasks.md (64%) create mode 100644 openspec/specs/swagger-admin-api/spec.md create mode 100644 openspec/specs/swagger-auth-supplement/spec.md create mode 100644 openspec/specs/swagger-member-api/spec.md create mode 100644 openspec/specs/swagger-provider-api/spec.md create mode 100644 openspec/specs/swagger-public-api/spec.md diff --git a/README.md b/README.md index 40d5fe5..3a9f240 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,49 @@ -![image](https://github.com/user-attachments/assets/332bf381-8faa-441f-8843-bff2c1fbde7a) -![image](https://github.com/user-attachments/assets/f0a765f5-5386-467e-80b8-4a5ef8ef0bcf) -![image](https://github.com/user-attachments/assets/5d6ad6ee-f100-4d45-9200-d61ce76ca7c4) +# CFDive Platform +潛水課程媒合平台 — 連結潛水教練與學員,提供課程瀏覽、線上預約、評價與通知等完整服務。 + +--- + +## 功能概覽 + +**會員(Member)** +- 註冊 / 登入(Email + Google OAuth) +- 瀏覽、搜尋、篩選潛水課程 +- 查看課程時段並送出預約 +- 對完成的課程留下評價(支援匿名、有幫助投票) +- 站內通知(Email + Polling) + +**教練(Provider)** +- 課程 CRUD(含封面 + 相簿圖片上傳) +- 課程時段管理 +- 預約管理(確認 / 拒絕 / 完成 / 取消) + +**管理員(Admin)** +- 平台統計數據(會員數、教練數、課程數) +- 會員與教練帳號管理(啟用 / 停用 / 審核) +- 課程、預約、評價管理 + +--- + +## 技術棧 + +| 層級 | 技術 | +|------|------| +| 後端 | PHP 8.x / Laravel 11 | +| 前端 | Vue 3 | +| 資料庫 | MySQL 8.0 | +| 快取 | Redis(predis)| +| 認證 | Laravel Sanctum + Google OAuth | +| 容器 | Docker / Docker Compose | +| API 文件 | Swagger UI(l5-swagger)| + +--- + +## API 文件 + +共 73 個端點,涵蓋: +- 認證(Email + Google OAuth) +- 公開課程查詢 +- 會員預約 / 評價 / 通知 +- 教練課程 / 時段 / 預約管理 +- 管理員後台 diff --git a/app/Docs/AdminApiDoc.php b/app/Docs/AdminApiDoc.php new file mode 100644 index 0000000..69ceeb4 --- /dev/null +++ b/app/Docs/AdminApiDoc.php @@ -0,0 +1,504 @@ +