Requirements of Google Maps' Design
Define the functional and non-functional requirements for designing a highly scalable mapping system, such as Google Maps. Learn to estimate resource needs and identify the key challenges of scaling pathfinding algorithms and calculating accurate real-time ETAs under heavy load.
Requirements
Given the complexity of Google Maps, the design will target a simplified version that implements only the core features. The system must satisfy the following functional and non-functional requirements.
Functional requirements
The core functional requirements are:
Location identification: Users can pinpoint their current location (latitude and longitude) on the map.
Route recommendation: The system recommends the optimal route based on distance, time, and transportation mode.
Navigation directions: The system provides step-by-step text directions to guide the user from source to destination.
Non-functional requirements
The system must meet the following non-functional requirements:
Availability: The system must be highly available.
Scalability: The system must handle high request volumes from individual users and enterprise integrations (e.g., Uber and Lyft).
Low latency: Route calculation and
prediction must occur within 2–3 seconds.ETA Estimated Time of Arrival Accuracy: The predicted ETA must closely ...