Files
Randell Dawson 1494a50123 fix(guide): restructure curriculum guide articles (#36501)
* fix: restructure certifications guide articles
* fix: added 3 dashes line before prob expl
* fix: added 3 dashes line before hints
* fix: added 3 dashes line before solutions
2019-07-24 13:29:27 +05:30

1.6 KiB

title
title
URL Shortener Microservice

URL Shortener Microservice


Problem Explanation

The core features to complete this exercise are the creation and retrieval of URLs from the Database.


Hints

Hint 1

Creating Short URL

  • Connect to your database instance.

    Note

    : It's important to check your Mongoose connection status before dive into the problem, just to check if everything is okay with your database configuration. This should help: mongoose.connection.readyState

  • Receive a POST request containing an URL to be saved on Database.
  • Check if it is a valid URL using dns.lookup(url, callback)
    • Remember you need to import the dns module with required.
  • Generate some kind of identifier to save your original URL in database.
    • A SHA-1 hash could be used, or even the object ID when saving the element.
    • There is a bunch of samples over the internet how to generate some kind of identifier, try to explore it or create your own.
    • An example of how this should look like: {'url': www.freecodecamp.org, 'hash': 'ef49fa8b4'}

Hint 2

Retrieving Short URL

  • Receive a GET request containing an identifier used to find a stored URL.
  • Try to find one URL saved for this identifier
  • Redirect user to URL.

    Note

    : The res.redirect(url) function need that the given url, has a defined protocol (http://, https://), or it will just concatenate it as an extension of your current domain. eg: Good URL: https://www.freecodecamp.org, Bad URL: www.freecodecamp.org. Try it out.

  • Remember to handle error situations with proper response like, `res.json({"error":"invalid URL"});