Scope of the problem for URL Shortener | developp.in Labs

Scope of the problem for URL Shortener #

Here, we will define the scope, functional requirements, and non-functional requirements of URL Shortener.

Scope of the problem #

Function requirements: #

  • URL Shortener should have command line interface
  • URL Shortener should have HTTP(s) APIs
  • URL Shortener should have web-interface.
  • URL Shortener should support OAuth 2.0
  • User should be able to generate custom and generic URLs
  • For the same URL, different users should get different short-URLs.
  • Users should be able to track number of hits per URL.
  • URL Shortener should generate short URL only for a valid long URL (based on regular expressions).
  • Short URL should support both HTTP and HTTPS
  • It should support permanent and temporary redirection.
  • Short URLs can expire after certain time.

Non-Functional requirements #

  • Support moderate scale (100 QPS)
  • APIs should have low sub-millisecond latencies.
  • Have 99.9% availability
  • Should be deployable on a cloud service provider. Ideally, we want full CI/CD
  • Should use git for version control.
  • Should have test cases with more than 80% unit test coverage.