Skip to main content

Requirements

Functional Requirements

The system should support the following:

  1. Create a post
  2. Follow and unfollow accounts
  3. News Feed: In Reverse Chronological Order (Newest to Oldest)
  4. Like & Comment: Post Interactions
  5. User Notification: Notify the user when someone's likes/comments on their post.

Non-Functional Requirements

The system should be:

  1. Five Nines Available: 99.999 % availability
  2. Eventual Consistency: After some time, system must be consistent.
  3. Low latency: News Feed Loading should be less than 1-2 seconds.
  4. Scalability: 500M DAU & 2B MAU
  5. Extensibility: Easy to add new features
  6. Usability: Good User Experience