Yelp or Nearby are proximity servers that let you discover restaurants, theaters, shopping malls and other attractions or events in your vicinity. Such applications also allow you to view or add comments, photos and reviews for these events and places. Let's discuss how such a proximity server is designed.
We will design a basic proximity server that can store information for different events and places and allow users to search for them. When the user performs a search, the service will return a list of places near them.
Before designing the database schema, we need to plan on what the system will store. The proximity server can support different features. Each feature will correspond to a set of data that the system will store for it.
Since users can create an account, our proximity server will manage profile data for each of the subscribed users. User profile will carry some basic data, including:
For each POI (point of interest) entry in the database, the system will manage some key information, including:
50% off Udemy courses
Grokking the System Design Interview
Java Multithreading for Senior Engineering Interviews
Grokking the Advanced Design Interview
Grokking the Coding Interview: Patterns for Coding Questions
Grokking Dynamic Programming Patterns for Coding Interviews
Coderust: Hacking the Coding Interview