Docker is a great way to package and deploy web applications. Applications that have been containerized can easily be created, destroyed, or even moved between servers, as long as the servers are using the Docker runtime.

Not too long ago I wrote about creating a RESTful API that could process images and generate Android compliant launcher icons. This article was titled, Create an Android Launcher Icon Generator RESTful API with Node.js, and Jimp and it was powered by Express Framework. The application could be served on any properly configured server with Node.js. The catch here is that server configuration is never easy or quick.

We’re going to see how to package our web application into a container using Docker.

When you’re developing an Android mobile application, it is critical that you come up with a nice launcher icon for all possible Android screen densities. If you’re not too familiar with Android, there are mdpi, hdpi, xhdpi, xxhdpi, and xxxhdpi densities as of now. This number could change in the future.

Once you’ve got your icon, resampling or resizing it for each possible screen density can become a pain in the butt. Instead, it makes sense to use or create a script for this.

We’re going to see how to create a RESTful API that accepts an image and generates various sizes of that same image, bundled within a ZIP archive. We’re going to accomplish this task with Node.js and Express.

Proper cross-origin resource sharing (CORS) configuration is one of those things that is completely necessary when building a RESTful API, but also one of those things that is a total pain in the butt when it comes to prototyping an application. CORS related errors are common when testing a web application where the front-end JavaScript layer exists on a different port or host than the API that it tries to access.

When I build web applications, my least favorite part is always in the realm of file uploads. They are often complicated to do and take a lot of time. Pretty much every web application lately, regardless of what it is, requires file uploads, even if it is just to upload a profile picture.

Since I’m all about Angular lately, I figured it would be great to show how to upload images (or any file) to a back-end. In this particular example I’m using Node.js.

I was at an event not too long ago where someone recommended I take a look at PassportJS for my Node.js applications. In case you’re unfamiliar with PassportJS, it is an authentication middleware that makes it easy to work with logins, whether they are with basic login, or with social media accounts such as Facebook and Twitter.

Being that I’m into different authentication techniques, as seen in my other oauth articles, I figured it wouldn’t be a bad idea to do a walkthrough on PassportJS with Express Framework for Node.js.

I’ve written a few tutorials regarding Node.js and the Express.js framework, but I never took a step back and explained how to make a super simple RESTful API for processing HTTP requests from a front-facing interface.

With this API created, you can use it with just about any application that can submit HTTP requests. It is a great way to test a mobile application or one that uses JavaScript frameworks like jQuery, ReactJS, or AngularJS.