- Backend (FastAPI):
- Workload heatmap API with load level calculation
- User workload detail endpoint with task breakdown
- Redis caching for workload calculations (1hr TTL)
- Department isolation and access control
- WorkloadSnapshot model for historical data
- Alembic migration for workload_snapshots table
- API Endpoints:
- GET /api/workload/heatmap - Team workload overview
- GET /api/workload/user/{id} - User workload detail
- GET /api/workload/me - Current user workload
- Load Levels:
- normal: <80%, warning: 80-99%, overloaded: >=100%
- Tests:
- 26 unit/API tests
- 15 E2E automated tests
- 77 total tests passing
- OpenSpec:
- add-resource-workload change archived
- resource-management spec updated
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2.4 KiB
2.4 KiB
Proposal: add-resource-workload
Summary
實作資源管理系統的核心功能:負載熱圖與容量追蹤。讓主管能夠視覺化了解團隊成員的工作負載狀況,並進行資源分配決策。
Motivation
根據 project.md 的核心目標:
- 提供即時資源負載與專案進度分析
- 讓 Unit Managers 獲得團隊工作負載可見度、資源分配熱圖
- 減輕工程師的時間回報負擔
目前系統已完成 user-auth 和 task-management,具備:
- 使用者資料與容量(capacity)欄位
- 任務的時間估算(original_estimate)與實際耗時(time_spent)
- 任務指派(assignee_id)與截止日期(due_date)
基於現有基礎,可以開始計算並展示資源負載資訊。
Scope
In Scope (Phase 1 - 核心負載功能)
-
Workload Heatmap API
- 計算每位成員的週負載百分比
- 依負載狀態分類(綠色/黃色/紅色)
- 支援時間範圍查詢
-
User Capacity Management
- 更新使用者容量設定 API
- 容量歷史記錄(未來週數的容量調整,如請假)
-
Workload Snapshot Storage
- 建立
pjctrl_workload_snapshots表 - 定期快照或即時計算策略
- 建立
-
Team Workload Overview API
- 部門級別的負載總覽
- 支援按專案或部門篩選
Out of Scope (Future Phases)
- Multi-Project Health Dashboard(需要更多專案進度數據)
- 資源分配不均的自動建議
- 資源分配 AI 預測
- WebSocket 即時更新
Affected Specs
resource-management- 實作以下需求:- Workload Heatmap(部分)
- Capacity Planning(部分)
- Team Workload Distribution(部分)
Dependencies
user-auth- 使用者認證與權限task-management- 任務與時間估算數據來源
Risks
| Risk | Impact | Mitigation |
|---|---|---|
| 負載計算效能 | 大量任務時計算緩慢 | 使用 Redis 快取計算結果 |
| 任務時間數據不完整 | 無 original_estimate 的任務無法計算 | 提供預設值或排除計算 |
| 週邊界定義不一致 | 不同使用者對「週」的理解不同 | 統一使用 ISO 週(週一至週日) |
Success Criteria
- 主管可查看團隊成員的週負載熱圖
- 負載百分比正確反映任務分配時數 vs 容量
- 支援按部門篩選負載視圖
- API 回應時間 < 500ms(快取命中時 < 100ms)