Files
hr-portal/README_V2.md
Porsche Chen 360533393f feat: HR Portal - Complete Multi-Tenant System with Redis Session Storage
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>
2026-02-23 20:12:43 +08:00

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 - 資料庫設計