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