feat: implement custom workflow stages with drag-and-drop kanban configuration (#3183) - #3207
feat: implement custom workflow stages with drag-and-drop kanban configuration (#3183)#3207knoxiboy wants to merge 1 commit into
Conversation
GSSoC Label Checklist 🏷️@Priyanshu-byte-coder — please apply the appropriate labels before merging: Difficulty (pick one):
Quality (optional):
Validation (required to score):
|
|
Thanks for the substantial effort here, but this is out of scope for DevTrack. DevTrack is a GitHub-activity analytics dashboard (contribution/streak/PR insights), not a project-management tool — and this PR is part of a ~12k-line Kanban/task-management system (boards, stages, tasks, dependencies, task notifications, activity feed) that adds a whole new product surface ( |
Summary
This PR implements custom workflow stages with a fully functional drag-and-drop Kanban column and task configuration system. It allows teams/users to create project boards, define custom workflow stages (e.g. Design Review, QA, Staging), and reorder columns or move tasks between them using drag-and-drop.
Closes #3183
Type of Change
What Changed
supabase/migrations/20260715000000_add_kanban_boards.sql: Createdprojects,workflow_stages, andtaskstables with appropriate indexes, references, and Row-Level Security (RLS) policies.src/app/api/kanban/route.ts: Project creation and retrieval.src/app/api/kanban/[projectId]/route.ts: Project retrieval and deletion.src/app/api/kanban/[projectId]/stages/route.ts: Creating and updating/deleting stages.src/app/api/kanban/[projectId]/tasks/route.ts: Creating and updating/deleting tasks.src/components/AppNavbar.tsx: Added "Kanban Board" navigation menu item for logged-in sessions.messages/en.json&messages/es.json: Added English and Spanish localizations for the navigation menu.src/app/dashboard/kanban/page.tsx: Landing view lists projects and provides a project creator card.src/app/dashboard/kanban/[projectId]/page.tsx: Kanban workspace wrapper.src/components/kanban/KanbanBoard.tsx: Main board container orchestration using@dnd-kit/coreand@dnd-kit/sortable.src/components/kanban/KanbanColumn.tsx: Kanban column representation for stages.src/components/kanban/KanbanTaskCard.tsx: Task card items.src/components/kanban/StageSettingsModal.tsx: Stage manager enabling custom color picking, rename, delete, and reordering.How to Test
/dashboard/kanban(or click "Kanban Board" in the navbar).Expected result: Projects, columns, and tasks are created and updated seamlessly. Drag-and-drop operations correctly persist task and column ordering to the database.
Checklist
console.log, debug code, or commented-out blocksnpm run lintpasses locally (Eslint setup failed locally on native dependency issue)npm run type-check)Accessibility (UI changes only)
Additional Context
@dnd-kit/coreand@dnd-kit/sortablefor fluid, native-feeling drag-and-drop interactions.