I created this app as a requirement for my freeCodeCamp APIs and Microservices Certification, using Node.js, Express, Mongoose, and a free MongoDB Atlas database. The front end API test on the main page also uses Bootstrap, jQuery, and highlight.js. The API fulfills the following user stories:
- I can POST a URL to
[project_url]/api/shorturl/new
and I will receive a shortened URL in the JSON response.- Example:
{"original_url": "www.google.com", "short_url": 1}
- Example:
- If I pass an invalid URL that doesn't follow the
http(s)://www.example.com(/more/routes)
format, the JSON response will contain an error like{"error": "invalid URL"}
.- HINT: to be sure that the submitted url points to a valid site you can use the function
dns.lookup(host, cb)
from thedns
core module.
- HINT: to be sure that the submitted url points to a valid site you can use the function
- When I visit the shortened URL, it will redirect me to my original link.