Overview
The Kanban board is PhotoFlow’s central feature for managing photography orders. It provides a visual, drag-and-drop interface that makes it easy to track the status of every task at a glance.Accessing the Kanban Board
The Kanban board is the main dashboard view, accessible at:Board Structure
Columns
The board is organized into columns representing different workflow stages. Each column contains tasks that are in that particular stage.Column configuration is customizable in the source code. By default, PhotoFlow supports multiple workflow stages that you can adapt to your photography business needs.
Cards
Each task appears as a card within a column. Cards display:Task Name
The order or project title (e.g., “Wedding Photography - Smith Family”)
Description
Additional details about the order
Time Remaining
Days until the due date
Status
Current status indicator
Drag and Drop Workflow
The core feature of the Kanban board is the ability to move tasks between columns by dragging and dropping.How It Works
Drag to New Column
While holding, drag the card over the target column. The column will highlight with a dashed blue border.
Technical Implementation
PhotoFlow uses custom drag-and-drop utilities located insrc/lib/utils/dnd.ts:
- The card’s
taskColumnproperty is updated - An API call updates the database
- Socket.io broadcasts the change to all connected clients
- All clients refresh to show the updated board state
Creating Tasks
Add new tasks directly from the Kanban board:Click Add Task Button
At the bottom of any column, click the ”+ Neue Aufgabe hinzufügen” (Add New Task) button.
Fill Task Details
A modal appears with fields for:
- Task Name - Order or project title
- Description - Additional information about the photography order
- Due Date - When the task should be completed
- Status - Current status (in progress, waiting, etc.)
API Endpoint
Task creation uses the/api/createNewTask endpoint:
Editing Tasks
Update task details without leaving the Kanban view:
Changes are immediately visible to all users on the network.
Task Overview
For a different view of your tasks, access the Task Overview page:- List view of all tasks
- Filtering and sorting options
- Detailed task information
- Mark tasks as finished
Real-Time Synchronization
One of PhotoFlow’s most powerful features is real-time synchronization across all PCs on your network.How It Works
Testing Real-Time Sync
To verify synchronization is working:- Open PhotoFlow on two different PCs (or two browser windows)
- Drag a task to a different column on one PC
- Watch it update automatically on the other PC within seconds
Filtering and Organization
Hide Finished Tasks
By default, the Kanban board only shows active tasks:Column Organization
Each column displays:- Column header (e.g., “To Do”, “In Progress”, “Done”)
- All tasks in that stage
- Add task button at the bottom
Column definitions are configured in the page loader (
+page.server.ts). You can customize column labels and IDs to match your workflow.Keyboard Accessibility
While drag-and-drop is the primary interaction method, tasks can also be moved using:- Click to open task edit modal
- Change the column/status in the form
- Save changes
Visual Indicators
Drop Zone Highlighting
When dragging a card, columns highlight with a dashed blue border to show valid drop zones:Time Indicators
Cards show time remaining until the due date:- Days remaining displayed on card
- Color coding for urgency (configurable)
- Visual warnings for overdue tasks
Best Practices
Clear Task Names
Use descriptive names that identify the order at a glance:
- “Wedding - Smith (03/15)”
- “Portrait Session - Johnson Family”
Consistent Columns
Define columns that match your actual workflow:
- “Scheduled” → “In Progress” → “Editing” → “Ready for Delivery” → “Completed”
Use Descriptions
Add important details in the description field:
- Special requests
- Location information
- Client contact preferences
Regular Updates
Move cards as soon as tasks progress to keep the board accurate and useful for the whole team.
Data Structure
Tasks in the Kanban board use this interface:Tasks table in PostgreSQL. See Database Setup for schema details.
Performance Considerations
Large Boards
For boards with many tasks (100+):- The board renders efficiently using Svelte’s reactive updates
- Only visible cards are fully rendered
- Drag-and-drop operations are optimized for smooth performance
Network Latency
In networks with higher latency:- Drag-and-drop provides immediate visual feedback
- Database updates happen asynchronously
- Socket.io reconnects automatically if connection drops
Troubleshooting
Cards not updating on other PCs
Cards not updating on other PCs
Check Socket.io connection:
- Open browser console (F12)
- Look for Socket.io connection errors
- Verify
VITE_SOCKET_URLis set correctly - Ensure no firewall is blocking WebSocket connections
Drag and drop not working
Drag and drop not working
- Ensure JavaScript is enabled
- Try a different browser (Chrome/Firefox recommended)
- Check browser console for errors
- Verify you’re not in a column’s drag-disabled state
Tasks appearing in wrong columns
Tasks appearing in wrong columns
- Verify task’s
taskColumnvalue in database - Check column definitions match expected IDs
- Try refreshing the page
- Check for any JavaScript errors in console
Can't add new tasks
Can't add new tasks
- Verify database connection is working
- Check API endpoint is accessible:
/api/createNewTask - Review browser console for error messages
- Ensure database user has INSERT permissions
Next Steps
Task Management
Learn about creating, updating, and finishing tasks
Comments
Add comments to tasks for team collaboration
Data Export
Export your Kanban data to CSV
Network Setup
Configure multi-PC access for your team