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>
85 lines
2.2 KiB
Markdown
85 lines
2.2 KiB
Markdown
# HR Portal v2.0 - 全新重構版本
|
|
|
|
**開發開始**: 2026-02-10
|
|
**設計依據**: [員工多身份設計文件](../../2.專案設計區/4.HR_Portal/員工多身份設計文件.md)
|
|
|
|
---
|
|
|
|
## 🎯 重構原因
|
|
|
|
舊版設計不支援**員工多身份**和**跨事業部管理**,完全重新開發以符合新的業務需求。
|
|
|
|
---
|
|
|
|
## ✨ 新架構特性
|
|
|
|
### 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](../../2.專案設計區/4.HR_Portal/開發階段規劃.md):
|
|
|
|
### Phase 1: 基礎建設 (2-3 weeks)
|
|
- [ ] 資料庫設計與初始化
|
|
- [ ] FastAPI 專案架構
|
|
- [ ] React 專案架構
|
|
- [ ] Keycloak SSO 整合
|
|
|
|
### Phase 2: 核心功能 (3-4 weeks)
|
|
- [ ] 員工 CRUD (多身份)
|
|
- [ ] 組織架構管理
|
|
- [ ] 審計日誌
|
|
|
|
### Phase 3: 資源管理 (2-3 weeks)
|
|
- [ ] 郵件帳號管理
|
|
- [ ] NAS 網路硬碟整合
|
|
- [ ] 配額管理
|
|
|
|
---
|
|
|
|
## 📖 相關文件
|
|
|
|
- [員工多身份設計文件](../../2.專案設計區/4.HR_Portal/員工多身份設計文件.md)
|
|
- [HR Portal設計文件](../../2.專案設計區/4.HR_Portal/HR Portal設計文件.md)
|
|
- [NAS整合設計文件](../../2.專案設計區/4.HR_Portal/NAS整合設計文件.md)
|
|
- [開發階段規劃](../../2.專案設計區/4.HR_Portal/開發階段規劃.md)
|
|
|
|
---
|
|
|
|
**下一步**: 開始 Phase 1 - 資料庫設計
|