This is a web service that allows the user to shorten a URL into a small string, similar to Tiny URL, bit.ly, etc. A shortened URL can be edited to change the source URL. Here are some use cases for a user who uses the web service.
A user with an account with the service can see the list of all URLs he/she created and can modify the real URLs against each short URL.
The server shall maintain the following data for URLs
For well-known websites with apps in iOS and/or Android, the server will attempt to create the custom schema URLs as expected by those apps. Initially, the list will support only 5-6 common apps, but later the list can be expanded as the custom schema for more apps are found and documented.
The server will maintain information about user accounts for users who sign up for the service instead of using it a la carte. Here is the information that is stored.
Based on the platform detected by scanning the User Agent, the server will redirect a browser to the real HTTP URL, the iOS URL or the Android URL.