Description
Problem
The completion rate graph on the project About page (added in TRACK-22) is almost useless: it tells you very little about how the project is going. Remove it and replace it with a small set of more informative charts that show exact data on hover. Follow what established trackers offer.
Research step
Before building, look at what similar platforms ship and use their chart types and interactions for the most part. Starting points (check these during implementation):
- Jira: sprint burndown and burnup, velocity (committed vs completed per sprint), cumulative flow diagram, control chart (cycle-time scatter with rolling average), created vs resolved.
- Linear: cycle and project progress graphs (scope, started and completed lines with projected completion). Insights for cycle time, lead time and issue age, broken down by assignee, label or priority.
- GitHub Projects: Insights burn-up (open vs completed), plus configurable bar and line charts grouped by a field.
- Shortcut / ClickUp: burndown, velocity, cumulative flow, cycle and lead time.
Proposed chart set (confirm after research)
- Burn-up: total scope vs completed over time. Project-wide, and per sprint when sprints are enabled. Unlike a burndown, it also shows scope changes.
- Cumulative flow: stacked area of issue counts by status over time, to show bottlenecks.
- Created vs resolved: issues opened vs closed per week.
- Cycle time: scatter of completed issues (started → done) with median and 85th-percentile lines.
- Velocity: issues completed per sprint, committed vs completed. Only shown when sprints are enabled (see TRACK-68).
Acceptance criteria
- Remove the completion rate graph and any queries or code only it uses.
- Hover interactivity:
- Time-series charts show a crosshair tooltip with every series' exact value for that date.
- Cycle-time points show the issue ref, title and duration, and link to the issue.
- The same details are reachable by keyboard focus and by tap on touch devices.
- Clicking a legend entry toggles that series. A shared date-range selector (e.g. 2w / 30d / 90d / all) applies to every chart.
- Metrics come from project history (changelog / completion history), not reconstructed from current issue state. Deleted issues are excluded, and reopened issues are counted consistently.
- Charts that depend on sprints adapt to the project's sprint setting (TRACK-68) and show a clear empty state or are hidden when sprints are off.
- The chart library or code is self-hosted, with no third-party CDN (see TRACK-6), and works under the current CSP (see TRACK-11).
- Charts are responsive and use theme colors in light and dark modes. Empty and insufficient-data states are readable.
- Each chart has an accessible text or table summary.
- Read-only and public viewers see charts only for data they're allowed to view.
- If the About page gets crowded, consider a dedicated Insights view instead.
- Tests cover metric calculations, date-bucket boundaries, authorization and rendering.
Sub-issues
0Linked issues
0GitHub
0No branches or pull requests linked.
Comments
0No comments.