Requirements
Functional Requirements
The system should support the following:
- One-on-One Messaging: Text as well as Media
- Message Status Update: Sent, Delivered, Seen
- User Status: Online or Last-Seen
- Group Messaging: Chat in group
Non-Functional Requirements
The system should be:
- Availability: Must be 7 9's available i.e. available 99.99999% of time
- Low Latency: Messages should feel instant like f2f conversation.
- Scalability: Must be Scalable to manage high-traffic of users at the same time.
- Security: Only the Sender and reciever should see the message.