Design a Chat / Messaging Component

Problem

Design the object model for in-meeting chat: messages, channels, participants, and delivery state.

Requirements

  • send/receive messages in a meeting
  • 1:1 and group messages
  • delivery/read state
  • message history

What evaluators look for

  • Clean classes: Message, Channel, Participant, ChatService
  • State machine for delivery
  • Thread safety

Extension

Add reactions and typing indicators.

added …
LeaderboardSalaryAccount