- A URL shortening RESTful service which produces short urls from “long” (any) urls and redirects requests for short urls to the original urls
- Basic availability via data persistence
- Scalability: single instance for this demo but ready to add load balancer and more instances
- Validation of URL well-formedness
- Security: it should be hard for strangers to discover existing short urls whose expansions might be sensitive for the other users who created them
For demo purposes, the focus is on the core service, not on a full-blown production- level web app. Therefore, the service does not offer:
- A UI
- Scalability beyond a single instance (but ready to add load balancer and multiple instances)
- High availability (e.g. redundancy) beyond data persistence
- Validation that a service exists and is up on the “long” URL
- Security: blacklist or slow down users who are trying to repeatedly guess short urls