● Messaging: One user can send a message to another user or a group of users.
● Status: Shows online/offline statuses of users.
● Media upload: Users should be able to upload images and videos in addition to text messages.
● Push notifications: Users should receive a push notification when there are new messages.
● Read receipt: Senders can get a receipt when receivers read messages they sent.
● Low Latency
● High Availability
https://www.youtube.com/watch?v=0PoiklW3tco&list=PLmtNcpUq3YIJequI5FneNkiEGiHmwm3_o