Objective - Develop a system that generates a short, unique URL (alias) for any given long URL. This system should efficiently handle millions of URL shortening requests and redirects with high availability and scalability.
Functional Requirements: - Shorten URL: Given a long URL, generate a unique and short alias. - Redirect: When a short URL is accessed, redirect the user to the corresponding long URL. - Expiration: Optionally allow users to set an expiration time for shortened URLs. - Custom Aliases: Provide the option for users to customize their short URL alias (subject to availability and validation). - Analytics: Track and display usage statistics for shortened URLs, including click counts and referring domains. - API: Provide a public API for developers to integrate URL shortening functionality into their applications.
Solution - -