Choose your favorite web technology to develop an URL shortener.
The backend should be able to perform the following actions :
- Submit an URL to be shortened and store them in a persistent storage
- GET on shortened URLS will redirect to the original URL (301 redirection)
- Get shortened URLs list (this should be protected by a basic auth)
- Get stats (number of visits) for a shortened URL
The design should follow the REST API principle.
The app should have the following pages :
- a page with a form that take an URL and return a shorten URL
- an admin page protected by a basic auth that will list shortened URLs and associated targeted links and number of visits.
When done, send us a Git repo URL and the URL of the application.
You should design this app as you used to do in your daily job. We appreciate :
- documentation explaining the different technical choices
- decent errors management
- good testing coverage (choose tests that are appropriate for the exercise : end to end, unit tests, API tests...).
- a repo ready to be deployed on Heroku or via Docker