# Virtual MIS - 系統架構設計 **版本**: v1.0 **日期**: 2026-02-27 **狀態**: 規劃中 --- ## 系統架構圖 ``` ┌─────────────────────────────────────────────────────────────┐ │ 客戶企業 │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │ │ 員工 A │ │ 員工 B │ │ 員工 C │ │ 管理者 │ │ │ └─────┬────┘ └─────┬────┘ └─────┬────┘ └─────┬────┘ │ └────────┼─────────────┼─────────────┼─────────────┼─────────┘ │ │ │ │ └─────────────┴─────────────┴─────────────┘ │ ┌─────────▼─────────┐ │ Virtual MIS │ │ 統一入口 (SSO) │ └─────────┬─────────┘ │ ┌─────────────────┼─────────────────┐ │ │ │ ┌────▼────┐ ┌────▼────┐ ┌────▼────┐ │ HR │ │ Service │ │ Billing │ │ Portal │ │ Gateway │ │ System │ └────┬────┘ └────┬────┘ └─────────┘ │ │ │ ┌──────────┼──────────┐ │ │ │ │ ┌────▼────▼─┐ ┌────▼────┐ ┌──▼──────┐ │ Mail │ │Calendar │ │ Drive │ │ Service │ │Service │ │ Service │ └───────────┘ └─────────┘ └─────────┘ │ ┌────▼────┐ │ Office │ │ Service │ └─────────┘ ``` ## 核心模組 ### 1. 租戶開通系統 (Tenant Onboarding) **功能**: - 自動建立租戶資料 - 網域配置與 DNS 設定 - Keycloak Realm 建立 - 服務初始化 - 管理員帳號建立 **API 端點**: ``` POST /api/v1/tenant-onboarding GET /api/v1/tenant-onboarding/{tenant_id} PUT /api/v1/tenant-onboarding/{tenant_id} DELETE /api/v1/tenant-onboarding/{tenant_id} ``` ### 2. 服務整合閘道 (Service Integration Gateway) **功能**: - Mail System API 整合 - Calendar System API 整合 - Drive System API 整合 - Office System API 整合 - 服務健康檢查 - 統一錯誤處理 **API 端點**: ``` POST /api/v1/services/mail/create-account POST /api/v1/services/calendar/create-calendar POST /api/v1/services/drive/create-storage POST /api/v1/services/office/grant-access GET /api/v1/services/health ``` ### 3. 計費管理系統 (Billing System) **功能**: - 訂閱方案管理 - 使用量追蹤 - 帳單生成 - 金流整合 (綠界/藍新) - 自動續約/停權 **API 端點**: ``` POST /api/v1/billing/subscribe GET /api/v1/billing/invoices POST /api/v1/billing/payment GET /api/v1/billing/usage/{tenant_id} ``` ### 4. 管理後台 (Admin Portal) **功能**: - 租戶管理 - 服務監控儀表板 - 使用量報表 - 客戶支援工單 - 系統配置 **頁面**: ``` /admin/dashboard - 總覽儀表板 /admin/tenants - 租戶管理 /admin/services - 服務狀態 /admin/billing - 計費管理 /admin/support - 客戶支援 ``` ### 5. Landing Page (行銷頁面) **功能**: - 服務介紹 - 定價方案 - 免費試用申請 - 客戶見證 - 聯絡表單 **頁面**: ``` / - 首頁 /pricing - 定價方案 /features - 功能介紹 /trial - 免費試用 /contact - 聯絡我們 ``` ## 資料庫設計 ### 核心表 1. **tenants** - 租戶資料 (繼承 HR Portal) 2. **subscriptions** - 訂閱記錄 3. **invoices** - 帳單記錄 4. **service_usage** - 服務使用記錄 5. **support_tickets** - 客戶支援工單 ## 技術選型 ### 後端 - **語言**: Python 3.11+ - **框架**: FastAPI 0.115+ - **ORM**: SQLAlchemy 2.0+ - **驗證**: Pydantic v2 - **任務隊列**: Celery + Redis ### 前端 - **框架**: Next.js 15 (App Router) - **UI 庫**: Tailwind CSS + shadcn/ui - **狀態管理**: React Hooks + Context - **表單**: React Hook Form + Zod ### 基礎設施 - **容器化**: Docker + Docker Compose - **反向代理**: Nginx - **SSL**: Let's Encrypt (Certbot) - **監控**: Prometheus + Grafana ## 部署架構 ``` Internet │ ▼ ┌───────────────┐ │ Nginx Proxy │ (SSL Termination) └───────┬───────┘ │ ┌───┴───┬───────┬───────┬───────┐ │ │ │ │ │ Admin Landing API HR Services Portal Page Gateway Portal (Mail/Cal/Drive) ``` ## 擴展性設計 ### 水平擴展 - API Gateway 支援多實例 - 使用 Redis 作為共享快取 - 資料庫讀寫分離 ### 垂直擴展 - 服務模組化設計 - 微服務架構準備 - 容器資源動態調整 ## 安全性設計 1. **認證授權**: - Keycloak SSO - JWT Token - RBAC 權限控制 2. **資料安全**: - 資料加密傳輸 (TLS) - 敏感資料加密儲存 - 定期備份 3. **網路安全**: - CORS 配置 - Rate Limiting - DDoS 防護 ## 監控與告警 - **服務健康**: 每分鐘檢查 - **使用量追蹤**: 即時記錄 - **錯誤日誌**: 集中管理 - **性能指標**: CPU/記憶體/網路 --- **下一步**: 1. 詳細 API 規格設計 2. 資料庫 Schema 設計 3. 開發環境建置