Today, we are going to be building an image search abstraction layer that is built on top of the Bing search API. For this purpose, we’ll make use of Node.js + Express and Mongoose as an object manager for MongoDB. Additionally, we’ll harness the power of ECMAScript 6 using Babel.
URL shorteners are very useful. Remembering long and tedious URL addresses, or sharing 100 character URLs with your peers is not what we would call, convenient. That’s why we have services such as the Google URL Shortener, Bitly or TinyURL.
We are going to replicate the functionality that these pages offer to some extent. We’ll start off by creating an API using Node.js and the Express framework, and will integrate with a MongoDB instance to store information making use of Mongoose.
The functionality is quite straightforward, we must implement two endpoints in our application:
- /new/URL_TO_SHORTEN: Creates a new short URL for the provided long URL.
- /SHORT_URL: Will redirect to the long version of the provided short URL.
Instead of babbling around, let’s set up the project and install all of our dependencies.
This time, we are going to be creating a request header parser microservice in Node.js. Keep in mind that I’ll be using a set-up similar to that used by the previous two tutorials; for those who have not read them, that means that we’ll be using Express, and code our app using ECMAScript 6 thanks to Babel.
Feel free to go though the creation of a simple Express app post, as well as the set-up for using ECMAScript 6 within your node app.
Unfortunately, Node.js will not let you use ES6 features out of the box. It does provide a way of using some of the ECMAScript 6 features, but not the whole thing. That’s what we are here to fix.