System Design Question

Design a Movie Reviews Aggregator

bugfree Icon

Hello, I am bugfree Assistant. Feel free to ask me for any question related to this problem

Functional Requirements:

  • Aggregate movie reviews from multiple external sources (e.g., IMDb, Rotten Tomatoes, Metacritic).
  • Store and display movie metadata: title, release year, genre, synopsis, director, etc.
  • Allow users to search for movies by title, genre, or release year.
  • Show aggregated ratings and individual reviews per movie, with the ability to filter reviews by source.
  • Registered users can submit their own reviews and ratings for movies.
  • Users can upvote or downvote reviews.
  • Users can register, log in, and manage a list of favorite movies.

Non-Functional Requirements:

  • System should be able to handle at least 1 million users and scale to 10 million.
  • Average API response time should be under 200ms under normal load.
  • Data consistency is important for aggregated ratings and reviews.
  • System should be highly available (99.9% uptime).
  • Secure storage of user data and API credentials for external sources.
  • Implement rate limiting to prevent API abuse.
  • Support regular updates from external review sources (e.g., daily sync).

System Design Diagrams

Zoom In and Out via trackpad or posture