Requirements of TinyURL's Design
Understand the requirements and estimations for designing a URL shortening service.
Requirements for URL Shortening Design
Let’s look at the functional and non-functional requirements for the service we’ll be designing:
Functional requirements
- Short URL generation: Our service should be able to generate a unique shorter alias of the given URL.
- Redirection: Given a short link, our system should be able to redirect the user to the original URL.
- Custom short links: Users should be able to generate custom short links for their URLs using our system.
- Deletion: Users should be able to delete a short link generated by our system, given the rights.
- Update: Users should be able to update the long URL associated with the short link, given the proper rights.
- Expiry time: There must be a default expiration time for the short links, but users should be able to set the expiration time based on their requirements.