docs: add frontend and backend task plans
This commit is contained in:
@@ -19,6 +19,10 @@
|
||||
- 前端 API request/response 契約
|
||||
- `docs/FRONTEND_IMPLEMENTATION_CHECKLIST.md`
|
||||
- 前端實作與交付核對清單
|
||||
- `docs/TASKPLAN_FRONTEND.md`
|
||||
- 前端任務進度與驗收條件
|
||||
- `docs/TASKPLAN_BACKEND.md`
|
||||
- 後端任務進度與驗收條件
|
||||
- `docs/API_CLIENTS_SQL.sql`
|
||||
- `api_clients` 白名單表與初始資料 SQL
|
||||
|
||||
|
||||
35
docs/TASKPLAN_BACKEND.md
Normal file
35
docs/TASKPLAN_BACKEND.md
Normal file
@@ -0,0 +1,35 @@
|
||||
# Backend TaskPlan
|
||||
|
||||
## 目標
|
||||
提供可被前端穩定串接的 memberapi,包含身份驗證、權限快照、權限管理與 Authentik 同步能力。
|
||||
|
||||
## 已完成
|
||||
- [x] FastAPI 專案骨架與分層(api/service/repository/model)
|
||||
- [x] `GET /healthz`
|
||||
- [x] `GET /me`
|
||||
- [x] `GET /me/permissions/snapshot`
|
||||
- [x] `POST /admin/permissions/grant`
|
||||
- [x] `POST /admin/permissions/revoke`
|
||||
- [x] `POST /internal/users/upsert-by-sub`
|
||||
- [x] `GET /internal/permissions/{authentik_sub}/snapshot`
|
||||
- [x] `POST /internal/authentik/users/ensure`
|
||||
- [x] API client 驗證(`X-Client-Key` + `X-API-Key`)
|
||||
- [x] Authentik JWT 驗證(JWKS)
|
||||
- [x] DB schema 初始化 SQL + migration SQL
|
||||
- [x] 基本測試與 lint
|
||||
|
||||
## 進行中(建議近期)
|
||||
- [ ] 增加 Alembic migration 正式流程
|
||||
- [ ] 補齊更多 API 測試(admin/internal success + fail cases)
|
||||
- [ ] 增加 request id / logging 格式
|
||||
|
||||
## 待辦(上線前)
|
||||
- [ ] 加入 rate limit(依 client 或 IP)
|
||||
- [ ] 針對 admin API 加 audit log(授權/撤銷行為)
|
||||
- [ ] 加上 CORS 白名單與反向代理配置驗證
|
||||
- [ ] 製作部署腳本(systemd / container)
|
||||
|
||||
## 驗收條件
|
||||
- [ ] 前端可完成 `/me` + `/me/permissions/snapshot` + grant/revoke 全流程
|
||||
- [ ] 401/403/404/503 錯誤碼與文件一致
|
||||
- [ ] 至少一輪 staging smoke test 通過
|
||||
33
docs/TASKPLAN_FRONTEND.md
Normal file
33
docs/TASKPLAN_FRONTEND.md
Normal file
@@ -0,0 +1,33 @@
|
||||
# Frontend TaskPlan
|
||||
|
||||
## 目標
|
||||
完成 member.ose.tw 前端(Vue3 + JS + Vite + Element Plus + Tailwind),可獨立完成登入、查看個人資料、查看權限、管理授權。
|
||||
|
||||
## 已完成(依目前程式)
|
||||
- [x] Vite + Vue3 專案結構
|
||||
- [x] Element Plus + Tailwind 基礎接入
|
||||
- [x] Router 與頁面骨架
|
||||
- [x] `LoginPage`(token 輸入)
|
||||
- [x] `MePage`(`GET /me`)
|
||||
- [x] `PermissionSnapshotPage`(`GET /me/permissions/snapshot`)
|
||||
- [x] `PermissionAdminPage`(grant/revoke)
|
||||
- [x] Pinia store(auth + permission)
|
||||
- [x] Axios 分離 user/admin client
|
||||
- [x] Production build 可通過
|
||||
|
||||
## 進行中(建議近期)
|
||||
- [ ] 補路由守衛策略(是否限制 `/admin/permissions` 需登入)
|
||||
- [ ] 錯誤訊息 i18n 與統一顯示格式
|
||||
- [ ] 新增操作完成後自動刷新快照的 UX
|
||||
|
||||
## 待辦(上線前)
|
||||
- [ ] 增加 e2e / UI smoke 測試
|
||||
- [ ] 優化 bundle size(目前 main chunk 偏大)
|
||||
- [ ] 加入環境切換策略(dev/staging/prod)
|
||||
- [ ] 加入登入來源與 token 取得說明頁
|
||||
|
||||
## 驗收條件
|
||||
- [ ] 未登入時導向登入頁行為正確
|
||||
- [ ] 登入後可穩定讀取 `/me` 與快照
|
||||
- [ ] 管理頁 grant/revoke 成功與錯誤提示完整
|
||||
- [ ] 與後端契約文件一致(`FRONTEND_API_CONTRACT.md`)
|
||||
@@ -10,6 +10,10 @@
|
||||
- `docs/BACKEND_ARCHITECTURE.md`
|
||||
- `docs/BACKEND_BOOTSTRAP.md`
|
||||
|
||||
## 任務管理
|
||||
- `docs/TASKPLAN_FRONTEND.md`
|
||||
- `docs/TASKPLAN_BACKEND.md`
|
||||
|
||||
## SQL 與配置
|
||||
- `docs/API_CLIENTS_SQL.sql`
|
||||
|
||||
|
||||
Reference in New Issue
Block a user