yoo this is a real-time multiplayer kanban board i built with go and websockets. its pretty sick ngl
- Real-time sync - multiple ppl can use it at the same time and see changes instantly
- Drag & dropdrop - just drag tasks between columns (todo, in progress, done)
- Due dates - add due dates to tasks, overdue ones show up in red
- Delete tasks - click the X to delete (syncs across all clients)
- Dark mode - toggle with the moon icon, saves ur preference
- Task counters - shows how many tasks in each column
- Auto-save - everything saves to tasks.json automatically
- Backend: Go 1.25.4 with gorilla/websocket
- Frontend: Vanilla HTML/CSS/JS (no frameworks cuh)
- Storage: JSON file (tasks.json)
- WebSocket: Hub pattern with channels for real-time broadcast
- make sure u got go installed
- install dependencies:
go mod download
- run the server:
go run . - open ur browser to
http://localhost:8080 - open multiple tabs to test the real-time sync
main.go- http server, task struct, board logichub.go- websocket hub for managing clientsclient.go- individual websocket client handlerwebsocket.go- websocket upgrade handlermessage.go- message handling (add/move/delete tasks)persistence.go- save/load tasks from json fileinitial_sync.go- sends existing tasks to new clientsboard.html- kanban ui with drag-dropboard.css- styles (dark mode included)
- tasks persist across server restarts (saved in tasks.json)
- dark mode preference saved in browser localStorage
- all websocket messages use json format
- mutex locks prevent race conditions on task operations
- user accounts/auth
- task comments
- search/filter
- switch to actual database
- deploy it somewhere
f iwe ihfioe hei
f