feat(milestones): add milestone tracking with progress visualization#3135
Conversation
GSSoC Label Checklist 🏷️@Priyanshu-byte-coder — please apply the appropriate labels before merging: Difficulty (pick one):
Quality (optional):
Validation (required to score):
|
031210c to
0d89219
Compare
…racking # Conflicts: # src/components/GoalTracker.tsx
|
Closing this. It's entangled and partly redundant: (1) it bundles a goal-category feature via |
Summary
This PR introduces milestone tracking with dynamic progress visualization. It allows users to group tasks into high-level milestones with due dates, making sprint planning and project tracking easier directly from the dashboard.
Closes #2886
Type of Change
What Changed
src/types/project-milestone.tsto strictly type the newTaskandMilestonedata models.ProjectMilestonescomponent (src/components/ProjectMilestones.tsx) to handle the UI and state management for tracking milestone completion status.project-milestonesto the dashboard widget directory and injected it into the default Goals layout insrc/lib/dashboard-layout.ts.(completedTasks / totalTasks) * 100formula.How to Test
Project Milestoneswidget is visible (or add it via layout customization).Expected result: The widget allows seamless creation and deletion of milestones and tasks, updating the visual progress bar in real-time as tasks are toggled.
Screenshots / Recordings
Checklist
console.log, debug code, or commented-out blocksnpm run lintpasses locallynpm run type-check)Accessibility (UI changes only)
Additional Context
Because DevTrack does not currently have a dedicated
Tasksdatabase model alongside its core metrics (commits/PRs), this widget leverageslocalStorageto persist the milestone and task states securely in the client side, allowing it to immediately work for sprint planning without conflicting with the broader goal tracking systems.