URL Shortener Microservice - freeCodeCamp APIs and Microservices Project Tutorial
Channel: Ganesh H
Date: 16/07/2020

This is a full walkthrough for the URL Shortener Microservice project on freeCodeCamp. After setting up a database connection we create a URL model, which we use in our POST and GET requests to save and redirect URLs.

Link to Project : https://www.freecodecamp.org/learn/apis-and-microservices/apis-and-microservices-projects/url-shortener-microservice
Written Guide and Source Code : https://www.notion.so/ganeshh123/URL-Shortener-Microservice-8662da8953504de6b7c88e072c7a4b80

Timestamps:
00:00 - Project Setup
02:00 - Database Connection Setup
03:08 - Creating the URL Model
05:48 - Getting the URL parameter
10:30 - Test 1 - I can pass a URL as a parameter and I will receive a shortened URL in the JSON response
22:04 - Test 2 - If I pass an invalid URL that doesn't follow the valid http://www.example.com format, the JSON response will contain an error instead
24:16 - Test 3 - When I visit that shortened URL, it will redirect me to my original link
28:15 - Styling and Final Touches

-————————————————————————————————————-
Node.js is an open-source, cross-platform, JavaScript runtime environment that executes JavaScript code outside a web browser. Node.js lets developers use JavaScript to write command line tools and for server-side scripting—running scripts server-side to produce dynamic web page content before the page is sent to the user's web browser. 

The Node Package Manager (npm) is a command-line tool used by developers to share and control modules (or packages) of JavaScript code written for use with Node.js.

Express.js, or simply Express, is a web application framework for Node.js. It is designed for building web applications and APIs. It has been called the de facto standard server framework for Node.js. Express runs between the server created by Node.js and the frontend pages of a web application. Express also handles an application's routing.

MongoDB is a cross-platform document-oriented database program. Classified as a NoSQL database program, MongoDB uses JSON-like documents with optional schemas. MongoDB is developed by MongoDB Inc. and licensed under the Server Side Public License (SSPL).

Mongoose is an Object Data Modeling (ODM) library for MongoDB and Node.js. It manages relationships between data, provides schema validation, and is used to translate between objects in code and the representation of those objects in MongoDB.

freeCodeCamp (also referred to as “Free Code Camp”) is a non-profit organization that consists of an interactive learning web platform, an online community forum, chat rooms, online publications and local organizations that intend to make learning web development accessible to anyone. Beginning with tutorials that introduce students to HTML, CSS and JavaScript, students progress to project assignments that they complete either alone or in pairs. Upon completion of all project tasks, students are partnered with other nonprofits to build web applications, giving the students practical development experience.

Thanks for Watching!