Shortening: Take a url and return a much shorter url. Redirection: Take a short url and redirect to the original url. Custom url: Allow the users to pick custom shortened url. Analytics: Usage statistics for site owner. Ex: How many people clicked the shortened url in the last day?
- setup project
- git init
- install express
- setup simple route and run application
- install dev dependencies
- nodemon
- add start script in package.json
- Create database
- install mongoose and dotenv
- set db connection in config folder
- create schema for url shortner
- create routes for shortner API
- install shortid
- create post request and save data in db
- create get request and redirect short url to full url
- track clicks
- error handeling
- Advance setup
- add slug - custome code
- set expiry to every short code created
- add redis for caching
- rate limiting - throttle
- custom 404 page
- custom 500 page
- favicon
- Site under maintanance page
- User panel
- Register User with Social login
- Signin/signout User
- View/Edit Profile
- view list of shortUrls created
- View Analytics
- frontend code
- API doc
- security checks
- deployment
- test cases
- Code Coverage Metrics
- CICD