Requirements of Yelp’s Design
Define the functional and non-functional requirements for a proximity service like Yelp, focusing on scalability and consistency. Calculate resource needs by estimating required servers, storage, and bandwidth.
Requirements
Let’s identify the system requirements.
Functional requirements
User accounts: Users can log in, log out, and manage places’ information.
Note: There can be two types of users: business owners who can add their places on the platform and other users who can search, view, and give a rating to a place.
Search: Users can search for places by name or location (GPS).
Feedback: Users can review places using text, images, and ratings.
Non-functional requirements
High availability: The system must remain accessible to users.
Scalability: The system must handle fluctuating traffic, including spikes during lunch hours or during tourist seasons.
Consistency: Users must see a consistent view of place data, reviews, and images.
Performance: Search results must load with minimal latency.
Resource estimation
...