member_center/README.md

2.7 KiB
Raw Blame History

會員平台Member Center

此專案為多網站共用的會員登入中心與電子報訂閱管理平台。文件統一放在 docs/

目標MVP

  • 多個網站共用的會員登入中心SSO
  • OAuth2 + OIDC 登入API 與 Redirect 兩種方式)
  • 電子報訂閱管理(含未註冊訂閱)
  • 未註冊訂閱者可自行取消訂閱
  • 未註冊訂閱者未來註冊可沿用訂閱資料

既定條件

  • OAuth2 + OIDC
  • 會員中心只負責 Email/訂閱管理,發送系統另建
  • 訂閱採 double opt-in
  • 各站各自設計 UI主要走 API少數狀況使用 redirect
  • 會員資料跨站共享(邏輯隔離)
  • 訂閱事件同步採 event/queue
  • DBPostgreSQL
  • 開發C# .NET Core + MVC + OpenIddict

範圍(第一階段)

  • 多租戶(站點)概念與基本設定
  • 會員與訂閱者 Email 身分識別
  • OAuth2/OIDC 授權Authorization Code + PKCE
  • 訂閱/取消訂閱流程(含未註冊)
  • 基本管理後台(核心 CRUD

非目標(暫不處理)

  • 第三方社群登入
  • MFA
  • 行銷自動化或行為追蹤
  • 金流/付費會員

文件

  • docs/DESIGN.md:系統設計總覽、核心模組、資料模型與流程原則
  • docs/UI.mdUI 路由規劃與 Use Cases 對應
  • docs/USE_CASES.md:需求用例(角色、情境、驗收)
  • docs/FLOWS.md:主要業務流程(註冊、登入、訂閱、退訂、管理)
  • docs/OPENAPI.mdAPI 規格說明與補充規則
  • docs/openapi.yamlOpenAPI 3.1 正式規格檔
  • docs/SCHEMA.sql:資料庫 schemaPostgreSQL
  • docs/SEED.sql:初始化/測試資料
  • docs/TECH_STACK.md:技術棧與選型
  • docs/INSTALL.md:安裝、初始化與維運指令

專案結構

member_center/
├── src/
│   ├── MemberCenter.Api/          # REST APIOAuth/OIDC、訂閱、管理 API
│   ├── MemberCenter.Web/          # MVC Web UI會員與後台頁面
│   ├── MemberCenter.Installer/    # 安裝與初始化 CLImigrate/init/admin
│   ├── MemberCenter.Application/  # 應用層介面與 DTO
│   ├── MemberCenter.Infrastructure/# EF Core、Identity、OpenIddict、服務實作
│   └── MemberCenter.Domain/       # 領域實體與常數
├── docs/                          # 專案文件
├── .vscode/                       # 本機開發啟動與工作設定
├── MemberCenter.sln               # Solution
└── README.md

待確認事項

  • OAuth2 scopes 與最小 claimsemail/profile
  • 事件系統選擇Kafka/RabbitMQ/SNS+SQS
  • 取消訂閱的 UI 形式(純一鍵或提供偏好)
  • GDPR/CCPA 資料匯出與刪除是否納入第一期