feat: implement custom workflow stages with drag-and-drop kanban configuration (#3183)#3207
Open
knoxiboy wants to merge 1 commit into
Open
feat: implement custom workflow stages with drag-and-drop kanban configuration (#3183)#3207knoxiboy wants to merge 1 commit into
knoxiboy 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):
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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.