feat: implement dashboard widgets functionality
Backend: - Add dashboard API router with widget endpoints - Create dashboard schemas for widget data - Add dashboard tests Frontend: - Enhance Dashboard page with widget components - Add dashboard service for API calls - Create reusable dashboard components OpenSpec: - Archive add-dashboard-widgets change - Add dashboard capability specs 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
69
openspec/specs/dashboard/spec.md
Normal file
69
openspec/specs/dashboard/spec.md
Normal file
@@ -0,0 +1,69 @@
|
||||
# dashboard Specification
|
||||
|
||||
## Purpose
|
||||
TBD - created by archiving change add-dashboard-widgets. Update Purpose after archive.
|
||||
## Requirements
|
||||
### Requirement: Dashboard Statistics
|
||||
|
||||
The system SHALL display aggregated statistics showing the user's task overview.
|
||||
|
||||
#### Scenario: User views task statistics
|
||||
- Given: User is authenticated
|
||||
- When: User navigates to Dashboard
|
||||
- Then: System displays:
|
||||
- Total tasks assigned to user
|
||||
- Tasks due this week
|
||||
- Overdue tasks count
|
||||
- Completion rate percentage
|
||||
|
||||
### Requirement: My Workload Widget
|
||||
|
||||
The system SHALL display the current user's workload summary for the current week.
|
||||
|
||||
#### Scenario: User views personal workload
|
||||
- Given: User is authenticated
|
||||
- When: User views Dashboard
|
||||
- Then: System displays:
|
||||
- Allocated hours vs capacity hours
|
||||
- Load percentage with visual indicator
|
||||
- Load level status (normal/warning/overloaded)
|
||||
|
||||
### Requirement: Project Health Summary
|
||||
|
||||
The system SHALL display an aggregated project health summary.
|
||||
|
||||
#### Scenario: User views project health overview
|
||||
- Given: User is authenticated
|
||||
- When: User views Dashboard
|
||||
- Then: System displays:
|
||||
- Total projects count
|
||||
- Healthy/At-Risk/Critical breakdown
|
||||
- Average health score
|
||||
- Projects with blockers count
|
||||
|
||||
### Requirement: Quick Actions
|
||||
|
||||
The system SHALL provide quick navigation links to common actions.
|
||||
|
||||
#### Scenario: User accesses quick actions
|
||||
- Given: User is authenticated
|
||||
- When: User views Dashboard
|
||||
- Then: System displays navigation links to:
|
||||
- Spaces page
|
||||
- Workload page
|
||||
- Project Health page
|
||||
- (Admin only) Audit page
|
||||
|
||||
### Requirement: Dashboard API Endpoint
|
||||
|
||||
The backend SHALL provide a single aggregated endpoint for dashboard data.
|
||||
|
||||
#### Scenario: Frontend fetches dashboard data
|
||||
- Given: User is authenticated
|
||||
- When: Frontend requests GET /api/dashboard
|
||||
- Then: Backend returns:
|
||||
- User task statistics
|
||||
- Current week workload summary
|
||||
- Project health summary
|
||||
- And: Response is optimized with single database query where possible
|
||||
|
||||
Reference in New Issue
Block a user