Requirements
Functional Requirements
The system should support the following:
- Create a post
- Follow and unfollow accounts
- News Feed: In Reverse Chronological Order (Newest to Oldest)
- Like & Comment: Post Interactions
- User Notification: Notify the user when someone's likes/comments on their post.
Non-Functional Requirements
The system should be:
- Five Nines Available: 99.999 % availability
- Eventual Consistency: After some time, system must be consistent.
- Low latency: News Feed Loading should be less than 1-2 seconds.
- Scalability: 500M DAU & 2B MAU
- Extensibility: Easy to add new features
- Usability: Good User Experience