Skip to content

feat(milestones): add milestone tracking with progress visualization#3135

Open
desireddymohithreddy0925 wants to merge 11 commits into
Priyanshu-byte-coder:mainfrom
desireddymohithreddy0925:feature/milestone-tracking
Open

feat(milestones): add milestone tracking with progress visualization#3135
desireddymohithreddy0925 wants to merge 11 commits into
Priyanshu-byte-coder:mainfrom
desireddymohithreddy0925:feature/milestone-tracking

Conversation

@desireddymohithreddy0925

Copy link
Copy Markdown
Contributor

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

  • 🐛 Bug fix (non-breaking change that fixes an issue)
  • ✨ New feature (non-breaking change that adds functionality)
  • 💥 Breaking change (fix or feature that changes existing behavior)
  • 📝 Documentation update
  • ♻️ Refactor / code cleanup (no functional change)
  • ⚡ Performance improvement
  • 🔒 Security fix
  • 🧪 Tests only

What Changed

  • Created src/types/project-milestone.ts to strictly type the new Task and Milestone data models.
  • Built a brand new ProjectMilestones component (src/components/ProjectMilestones.tsx) to handle the UI and state management for tracking milestone completion status.
  • Added project-milestones to the dashboard widget directory and injected it into the default Goals layout in src/lib/dashboard-layout.ts.
  • Implemented dynamic progress bar width updates based on the (completedTasks / totalTasks) * 100 formula.

How to Test

  1. Navigate to the DevTrack dashboard and ensure the Project Milestones widget is visible (or add it via layout customization).
  2. Click "Add Milestone" and create a milestone with a name, optional description, and a due date.
  3. In the new milestone card, use the input box to add several tasks (e.g. "Design UI", "Setup API").
  4. Click the circle next to tasks to check them off, and verify that the progress bar updates accurately and transitions colors when reaching 100%.

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

Before After
N/A (New Feature) (Please attach a screenshot of the new milestone widget in action here before submitting)

Checklist

  • Linked the related issue above
  • Self-reviewed my own diff
  • No unnecessary console.log, debug code, or commented-out blocks
  • npm run lint passes locally
  • No TypeScript errors (npm run type-check)
  • Added or updated tests where applicable
  • Updated documentation / comments if behavior changed

Accessibility (UI changes only)

  • Keyboard navigation works correctly
  • Color contrast meets WCAG AA standard
  • ARIA labels / roles added where needed
  • Tested on mobile / responsive layout

Additional Context

Because DevTrack does not currently have a dedicated Tasks database model alongside its core metrics (commits/PRs), this widget leverages localStorage to 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.

@github-actions github-actions Bot added gssoc26 GSSoC 2026 contribution type:devops GSSoC type bonus: devops (+15 pts) type:feature GSSoC type bonus: new feature type:testing GSSoC type bonus: tests (+10 pts) type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) and removed gssoc26 GSSoC 2026 contribution labels Jul 5, 2026
@github-actions

github-actions Bot commented Jul 5, 2026

Copy link
Copy Markdown

GSSoC Label Checklist 🏷️

@Priyanshu-byte-coder — please apply the appropriate labels before merging:

Difficulty (pick one):

  • level:beginner — 20 pts
  • level:intermediate — 35 pts
  • level:advanced — 55 pts
  • level:critical — 80 pts

Quality (optional):

  • quality:clean — ×1.2 multiplier
  • quality:exceptional — ×1.5 multiplier

Validation (required to score):

  • gssoc:approved — counts for points
  • gssoc:invalid / gssoc:spam / gssoc:ai-slop — does not score

Type labels (type:*) are auto-detected from files and title. Review and adjust if needed.
Points formula: (difficulty × quality_multiplier) + type_bonus

@github-actions github-actions Bot added the gssoc26 GSSoC 2026 contribution label Jul 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

gssoc26 GSSoC 2026 contribution type:bug GSSoC type bonus: bug fix type:design GSSoC type bonus: UI/design (+10 pts) type:devops GSSoC type bonus: devops (+15 pts) type:feature GSSoC type bonus: new feature type:performance GSSoC type bonus: performance (+15 pts) type:testing GSSoC type bonus: tests (+10 pts)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat(milestones): add milestone tracking with progress visualization

1 participant