Skip to content

feat(kanban): drag-and-drop task reordering in board view#3137

Closed
desireddymohithreddy0925 wants to merge 11 commits into
Priyanshu-byte-coder:mainfrom
desireddymohithreddy0925:feature/kanban-drag-drop
Closed

feat(kanban): drag-and-drop task reordering in board view#3137
desireddymohithreddy0925 wants to merge 11 commits into
Priyanshu-byte-coder:mainfrom
desireddymohithreddy0925:feature/kanban-drag-drop

Conversation

@desireddymohithreddy0925

Copy link
Copy Markdown
Contributor

Summary

Introduces a Kanban Board widget with drag-and-drop mechanics to prioritize and triage tasks visually across columns.

Closes #2889


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

  • Implemented src/components/KanbanBoard.tsx utilizing @dnd-kit/core.
  • Persists dragged tasks state directly in localStorage for immediate usability.
  • Configured dashboard layout schemas (src/lib/dashboard-layout.ts) to render the Kanban board by default.

How to Test

  1. Navigate to the DevTrack dashboard.
  2. Locate the new Kanban Board widget.
  3. Add a few tasks and drag them across the "To Do", "In Progress", and "Done" columns.
  4. Refresh the page to verify the task positions have persisted securely.

Expected result: Smooth drag-and-drop capability across the board that accurately saves state.


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

@github-actions github-actions Bot added type:bug GSSoC type bonus: bug fix type:feature GSSoC type bonus: new feature type:testing GSSoC type bonus: tests (+10 pts) type:design GSSoC type bonus: UI/design (+10 pts) type:performance GSSoC type bonus: performance (+15 pts) type:devops GSSoC type bonus: devops (+15 pts) 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

@Priyanshu-byte-coder

Copy link
Copy Markdown
Owner

This PR's title doesn't match its diff — the changed files are identical to #3135 (milestone tracking + goal-category: ProjectMilestones.tsx, goals/route.ts, add_goal_category migration, etc.), not the kanban/CSV/recurring-tasks feature the title claims. It's the same diff submitted under a different title. Closing as a duplicate. Please don't open multiple PRs with mismatched titles for the same change.

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(kanban): drag-and-drop task reordering in board view

2 participants