Requirements
Functional Requirements:
- Create a short URL for a given long URL.
- Return the long URL associated with a given short URL.
Non-Functional Requirements:
- List the key non-functional requirements (eg low latency, scalability, reliability, etc.)...
API Design
GetLongURL(urlId)
insertShortURL(Urlid,string longURL, string shortURL)
updateShortURL(urlId, string shortURL)
deleteshortURL(urlId)
GetAllURLs()
High-Level Design
Detailed Component Design
Deep dive into 2-3 key components. Explain how they work, how they scale, discuss tradeoffs, capacity, and any relevant algorithms or data structures.