CS Fundamentals Trainer · System design challenges
Design a one-to-one chat app like WhatsApp
Difficulty: hard
Requirements
- Messages arrive in real time while both people are online
- People who are offline get their messages and a push notification later
- Conversation history is kept
Draw the architecture from components such as load balancers, caches, queues and databases, then check it against the requirements.