Real-time Chat System — System Design Interview Practice
Design a real-time messaging system like WhatsApp or Slack that supports group chats and file sharing. Work through the requirements, architecture trade-offs, and an interactive design review.
Requirements and concepts to consider
- Real-time messaging between usersRequirement
- Support group chats (up to 100 users)Requirement
- Message history and persistenceRequirement
- File sharing capabilitiesRequirement
- Online/offline status indicatorsRequirement
- Message delivery acknowledgmentsRequirement
- Support for 50M daily active usersRequirement
- real timeConcept to explore
- websocketsConcept to explore
- messagingConcept to explore
- scalabilityConcept to explore
- mobileConcept to explore