Wire kanban board component to real boards API #3
Labels
No labels
domain:backend
domain:devops
domain:frontend
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
forgejo_admin/pal-e-docs-app#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Lineage
plan-pal-e-docs→ Phase 3 (Board UI)Repo
forgejo_admin/pal-e-appUser Story
As a project manager
I want to see real board data in a kanban UI with drag-and-drop
So that I can visually manage work items across columns
Context
A working kanban component exists in
~/html-playground/4-sprint-board/with desktop drag-and-drop, touch drag with long-press and ghost card, tap-to-move mobile fallback, board tabs, and dark theme styling — but it uses mock data. The pal-e-app scaffold (PR #2) has typed API client, board list page, and board detail page — but no drag-and-drop or board tabs.This issue promotes the playground kanban into pal-e-app, replacing mock data with real API calls and adding write operations for drag-and-drop persistence.
API endpoints available:
GET /boards— list all boardsGET /boards/{slug}— board metadata (columns, title)GET /boards/{slug}/items— all items for a boardPATCH /boards/{slug}/items/{item_id}— move item (body:{column, position, points, labels})backlog,todo,next_up,in_progress,qa,needs_approval,doneplan,phase,issue,repo,project,todoFile Targets
Files to modify:
src/lib/api.ts— AddmoveItem(boardSlug, itemId, {column, position})mutation functionsrc/routes/boards/[slug]/+page.svelte— Replace static card list with full kanban: drag-and-drop (desktop + touch), column layout with horizontal scroll, card styling with type-based colors, points display, board color themingsrc/routes/boards/[slug]/+page.server.ts— May need adjustment for data shapesrc/routes/boards/+page.svelte— Add board color dots/badges to the board list (optional enhancement)src/routes/+layout.svelte— Switch to dark theme to match kanban aestheticsrc/app.css— Add any needed global styles for dark themeFiles NOT to touch:
k8s/**— infrastructure (separate issue).woodpecker.yaml— CI (separate issue)Dockerfile— already correctAcceptance Criteria
/boardsshows list of all boards (7 boards)/boards/{slug}shows kanban board with columns as horizontal scrollable lanesPATCH /boards/{slug}/items/{item_id}with new column — persists after refreshTest Expectations
npm run checkpasses (TypeScript)npm run lintpasses (ESLint)npm run buildsucceeds (production build)Constraints
@import 'tailwindcss'in app.css). Convert ALL inline<style>from playground to Tailwind utilities.+page.server.ts(SvelteKit convention — api.ts uses private env vars)fetch('/boards/...')— need a thin client-side API wrapper OR use SvelteKit form actions$state,$derived,$props(already used in scaffold)~/html-playground/4-sprint-board/src/routes/+page.svelte— use as reference but rewrite for Tailwind + real data, don't copy-paste the<style>blockChecklist
Related
pal-e-docs— project this affectsplan-pal-e-docs— Phase 3 of the interactive knowledge platform plan