Major Features: - ✅ Multi-tenant architecture (tenant isolation) - ✅ Employee CRUD with lifecycle management (onboarding/offboarding) - ✅ Department tree structure with email domain management - ✅ Company info management (single-record editing) - ✅ System functions CRUD (permission management) - ✅ Email account management (multi-account per employee) - ✅ Keycloak SSO integration (auth.lab.taipei) - ✅ Redis session storage (10.1.0.254:6379) - Solves Cookie 4KB limitation - Cross-system session sharing - Sliding expiration (8 hours) - Automatic token refresh Technical Stack: Backend: - FastAPI + SQLAlchemy - PostgreSQL 16 (10.1.0.20:5433) - Keycloak Admin API integration - Docker Mailserver integration (SSH) - Alembic migrations Frontend: - Next.js 14 (App Router) - NextAuth 4 with Keycloak Provider - Redis session storage (ioredis) - Tailwind CSS Infrastructure: - Redis 7 (10.1.0.254:6379) - Session + Cache - Keycloak 26.1.0 (auth.lab.taipei) - Docker Mailserver (10.1.0.254) Architecture Highlights: - Session管理由 Keycloak + Redis 統一控制 - 支援多系統 (HR/WebMail/Calendar/Drive/Office) 共享 session - Token 自動刷新,異質服務整合 - 未來可無縫遷移到雲端 Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2.2 KiB
2.2 KiB
HR Portal v2.0 - 全新重構版本
開發開始: 2026-02-10 設計依據: 員工多身份設計文件
🎯 重構原因
舊版設計不支援員工多身份和跨事業部管理,完全重新開發以符合新的業務需求。
✨ 新架構特性
1. 員工多身份支援
- 一個員工可在多個事業部任職
- 同事業部多部門 → 共用 SSO 帳號
- 跨事業部 → 獨立 SSO 帳號
2. 三大事業部
| 事業部 | 代碼 | 網域 | 說明 |
|---|---|---|---|
| 業務發展部 | biz | ease.taipei | 碳權、業務拓展 |
| 智能發展部 | smart | lab.taipei | AI/ML、技術研發 |
| 營運管理部 | ops | porscheworld.tw | 行政、財務、HR |
3. 資料庫架構
employees (員工基本資料)
├─ employee_identities (員工身份)
│ ├─ business_units (事業部)
│ └─ departments (部門)
├─ email_accounts (郵件帳號)
└─ nas_accounts (NAS 帳號)
📁 專案結構
3.Develop/4.HR_Portal/
├── backend/ # FastAPI 後端
├── frontend/ # React + TypeScript 前端
├── database/ # Schema + Migration
├── _archive/ # 舊版代碼
└── README_V2.md # 本文件
🚀 開發計畫
按照 開發階段規劃.md:
Phase 1: 基礎建設 (2-3 weeks)
- 資料庫設計與初始化
- FastAPI 專案架構
- React 專案架構
- Keycloak SSO 整合
Phase 2: 核心功能 (3-4 weeks)
- 員工 CRUD (多身份)
- 組織架構管理
- 審計日誌
Phase 3: 資源管理 (2-3 weeks)
- 郵件帳號管理
- NAS 網路硬碟整合
- 配額管理
📖 相關文件
下一步: 開始 Phase 1 - 資料庫設計