Files
PROJECT-CONTORL/openspec/changes/archive/2026-01-07-add-dashboard-widgets/proposal.md
beabigegg 4860704543 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>
2026-01-08 22:52:28 +08:00

1.4 KiB

Proposal: add-dashboard-widgets

Summary

Replace the placeholder Dashboard page with functional dashboard widgets that provide users with an at-a-glance overview of their work and system status.

Motivation

The current Dashboard displays only a welcome message and placeholder text ("Features will be added as development progresses"). Users need a centralized view of:

  • Their assigned tasks and workload
  • Project health across the organization
  • Quick access to common actions
  • System statistics

Scope

In Scope

  • Dashboard statistics cards (my tasks, overdue, completion rate)
  • My workload summary widget (reuses existing /workload/me API)
  • Project health summary widget (reuses existing /projects/health/dashboard API)
  • Quick actions section with navigation links
  • Backend API endpoint for aggregated dashboard data

Out of Scope

  • Customizable widget layout (future enhancement)
  • Real-time WebSocket updates for dashboard (can be added later)
  • Dashboard for specific roles (manager vs engineer views)

Dependencies

Reuses existing APIs:

  • GET /workload/me - User workload summary
  • GET /projects/health/dashboard - Project health overview
  • GET /api/projects/{project_id}/tasks with assignee_id filter

Risk Assessment

Low Risk - This change primarily adds a new frontend page using existing backend APIs. A new lightweight aggregation endpoint is added but doesn't modify existing data structures.