Board Service
Manages board views, columns, and task visualization for kanban and scrum workflows
Overview
The Board Service provides visual kanban and scrum board capabilities, managing board layouts, columns, and real-time task positioning.
Key Responsibilities
Board Management
- Create kanban and scrum boards
- Define custom columns and workflows
- Set WIP (Work In Progress) limits
- Configure board views and filters
- Archive and restore boards
Real-time Updates
- WebSocket connections for live board updates
- Optimistic UI updates with conflict resolution
- Presence indicators (who’s viewing)
- Collaborative drag-and-drop
Board Views
- List view, board view, timeline view
- Custom grouping (by assignee, priority, label)
- Swim lanes for organization
- Filtering and search within board
Technical Details
Technology Stack:
- Runtime: Node.js 20
- Framework: Socket.io for WebSockets
- Database: MongoDB (flexible board schemas)
- Cache: Redis (board state)
- Message Broker: Apache Kafka
SLA:
- Availability: 99.95%
- WebSocket Latency: < 100ms
- Board Load Time: < 500ms with 500 tasks
Real-time Architecture
- WebSocket connections per board
- Pub/Sub for multi-server scaling
- Conflict resolution using Operational Transform
- Automatic reconnection with state sync