All about NodeJS

Create & Deploy High Performance Node JS Apps on the Cloud and More !
All about NodeJS
File Size :
6.58 GB
Total length :
15h 52m



Sachin Bhatnagar


Last update

Last updated 8/2019



All about NodeJS

What you’ll learn

Build High Performance and Scalable Apps using NodeJS
Learn about ES6 with my free eBook – ECMAScript 6 QuickBytes
Use NodeJS Streams to write a Web Server
Use the Node Package Manager (NPM) for managing dependencies
Use the Express 4 Framework for building NodeJS Apps
Use the EJS templating language
Understand MongoDB as a NoSQL Database
Create & Use MongoDB Databases using services like MongoLab
Create Realtime Apps that use Web Sockets
Upload & Resize Images using NodeJS
Integrate Authentication using Social Media Sites like Facebook
Structure the NodeJS app into modules
Create and Deploy EC2 Cloud Server Instances on Amazon Web Services
Create and Use Amazon’s S3 Storage Service with NodeJS
Use Amazon’s Cloudfront Service
Using Amazon’s Elastic IP
Configure Security Groups, Ports & Forwarding on Amazon EC2
Deploy a NodeJS app on the EC2 Instance
Deploy a NodeJS app on Heroku
Deploy a NodeJS app on Digital Ocean
Install & Deploy NGINX as a Reverse Proxy Server for NodeJS Apps
Configure NGINX as a Load Balancer
Learn about Enterprise Integration
Create an app using the incredible Hapi framework
Learn more about logging using the Hapi framework
Learn to use ES6 with Nodejs
Install & Deploy Apache Apollo MQ with Nodejs and a Python Script

All about NodeJS


Working knowledge of HTML, CSS and Javascript
Basic Working knowledge of an image editing application such as Adobe Photoshop would also help, but is not necessarily needed.


About this Course
NodeJS is a platform that allows developers to write server side high performance and networked applications. And that too using good old Javascript. But wait ! Isn’t Javascript meant to be used for forms and stuff on web pages ?
Well that was 10 years ago. The world has gone from ‘Oops! You’ve not filled up the form properly !’ days to today’s modern web apps and social media sites that rely heavily on Javascript. Google Apps, Facebook, Twitter, Google Plus and LinkedIn, being handful examples of this movement. And to think that this quantum leap would not have been possible without Javascript is not an overstatement. Today, when you socialize with your friends on Facebook, or use your Gmail inbox, you’re running thousands of lines of code written in Javascript, in your browser.
With Node JS, you can take this knowledge back on the server, where usually you would expect to see the likes of PHP, Ruby, ASP dot NET etc. But that’s only a small portion of the reason why NodeJS is so cool. The fact that you can write full blown networked applications (think chat servers, collaborative tools, real-time data visualisation apps) with just a few lines of code is more than reason enough to not only look at NodeJS, but deep dive into it !
But I know PHP ? Why should I learn NodeJS ? Well, for starters, learning something new never hurts. But most importantly, learning NodeJS is great because :
Node allows you to write highly scalable networked apps deployed on the cloud ! You’re working at a different level of application design per se with Node and that means that you’re not writing an app that sits on top of a stack, you design the stack from the server up. And while that may sound daunting, it really is not and you’ll see why. You code in the same language, both on the server and on the front end ! We’re all polyglots (we use multiple programming languages and syntax in most of our projects), but managing code in the same language on the back-end and the front-end never hurts and in-fact can be a huge time saver when debugging. NodeJS is used by the likes of LinkedIn, Yahoo and Microsoft to name a few. Its pretty new and consequently you gain advantage from the exponentially growing community of NodeJS & Javascript developers and that’s great fun, really ! If you’ve been coding in Javascript, you can leverage your existing knowledge and skills and take it to a whole new level !

The Real Problem
So, NodeJS sounds pretty interesting so far, but what really hit me in the face when I was learning all about Node was the fact that, with any new platform, framework or technology, you need to take baby steps, all the way through, to making real world examples, if you have to get to the grips of it. And that leads us to why you’re here.
In this course, we’ll go from absolute scratch, all the way up to building and deploying full blown NodeJS app on the Cloud !
Project Oriented Learning
With NodeJS, we will build two full blown apps. We will go all the from concept creation, UI/UX design to coding and deploying our app on the cloud.
A. ChatCAT – One of the fun things that you can do with NodeJS is build realtime apps that allow a high number of concurrent users to interact with each other. Examples of this kind include Chat Servers, Gaming Servers, Collaborative Tools etc. We will build a multi-room chat server that allows users to login via Facebook, Create Chatrooms of their choice and Chat in realtime. We will not only create this app, but also deploy it on Heroku and Digital Ocean !
You will learn all about using Websockets, Structuring your App in an efficient manner, creating and using development & production configurations, Authentication using Facebook, Setting up an App on Facebook, Managing Sessions, Querying & Using a Hosted MongoDB Database, Using Heroku & Digital Ocean’s Cloud Services and lots more…
B. PhotoGRID – The second complete app that we will build in this course is a Photo Gallery app which lets users upload images into a gallery with the ability to vote up the images that they like. This NodeJS app lets users upload files, which are then resized to thumbnails on the server and stored in an Amazon S3 Bucket for optimal delivery to the front end interface. The entire app runs on an Amazon EC2 Cloud Server which we will create from scratch and configure for use.
You will learn about managing file uploads using NodeJS & AJAX, Resizing Images on the Server, Accessing & Storing files in an S3 Bucket, Querying & Using a Hosted MongoDB Database, Using Amazon’s Elastic IP Service & Cloudfront distribution, ensuring your NodeJS app runs automatically even if the server is restarted and lots more…
In the projects above, we leave no stone unturned in terms of execution. This is a complete hands-on course that is not just limited to NodeJS but to the ecosystem that needs attention when a NodeJS app is built and deployed. My intent is hand hold you all the way from writing your first app to deploying production level apps on the cloud.
And I’m always available to personally help you out, should you get stuck.
BONUS :: Here’s the best thing about this course. The curriculum that you see gets you up and running with NodeJS & Cloud Deployment. However, there is so much more that you can do with NodeJS, which is why I will keep adding new lectures and sections to this course on an ongoing basis. There is so much more that you will get with full lifetime access to lectures and all updates !!
So, join in the fun !


Section 1: Prologue

Lecture 1 What is NodeJS ?

Lecture 2 Before You Begin | ECMAScript 6 QuickBytes | Free eBook

Section 2: Installing NodeJS

Lecture 3 Installing NodeJS on Windows

Lecture 4 Installing NodeJS on a Mac

Lecture 5 Installing NodeJS on Linux (Ubuntu)

Lecture 6 Installing and using muliple versions of NodeJS (Only on Mac/Linux)

Section 3: NodeJS Fundamentals

Lecture 7 Before You Begin : Important Note

Lecture 8 Read-Evaluate-Print-Line | REPL & Hello Node !

Lecture 9 Hello NodeJS

Lecture 10 Hello Routing! | Understanding how Requests & Responses work

Lecture 11 Hello Routing! | Handling GET Requests

Lecture 12 Hello Routing! | Handling POST Requests

Lecture 13 NodeJS at its core

Lecture 14 Build a Web Server | Basic

Lecture 15 Promise me you’ll never callback

Lecture 16 Build a Web Server | Using Streams

Lecture 17 Modules & NPM

Lecture 18 Writing your own Module!

Lecture 19 Enigma v2

Section 4: MongoDB 101

Lecture 20 Introduction to MongoDB

Lecture 21 Installing MongoDB on Windows

Lecture 22 Installing MongoDB on a Mac

Lecture 23 Playing with the MongoDB Shell

Section 5: NodeJS Frameworks

Lecture 24 What are frameworks?

Lecture 25 Express and the MEAN Stack

Lecture 26 Beyond the MEAN Stack

Section 6: ChatCAT – Creating a Realtime Multiroom Chat App & Deploying it on Heroku

Lecture 27 The Goal

Lecture 28 Structuring the app

Lecture 29 Examining the user interface

Lecture 30 Installing Nodemon

Lecture 31 npm init and here we go!

Lecture 32 Hello Express!

Lecture 33 Middleware Ahoy!

Lecture 34 The View Renderer

Lecture 35 Serving Static Assets

Lecture 36 Express Router : First Steps

Lecture 37 Express Router : The routes object

Lecture 38 Express Router : Mounting the routes – 1

Lecture 39 Express Router : Mounting the routes – 2

Lecture 40 Express Router : Handling a 404

Lecture 41 Do we need a database? Yes we do!

Lecture 42 MongoDB as a service |

Lecture 43 Migrating to MongoDB Atlas – IMPORTANT

Lecture 44 Environments and the config loader

Lecture 45 Mongoose and the database module

Lecture 46 Sessions 101

Lecture 47 Implementing sessions using the express-session middleware

Lecture 48 Social Authentication : An Introduction

Lecture 49 Social Authentication : Introduction to Passport

Lecture 50 Social Authentication : Installing Passport & Strategies

Lecture 51 Social Authentication : Registering the app on Facebook

Lecture 52 Social Authentication : Facebook Strategy

Lecture 53 Social Authentication : Database helpers

Lecture 54 Social Authentication : Serializing & deserializing user data

Lecture 55 Social Authentication : Routes

Lecture 56 Updates to Facebook Login | Enforcing HTTPS

Lecture 57 Social Authentication : Rendering name and profile picture

Lecture 58 Social Authentication : Registering the app with Twitter

Lecture 59 Social Authentication : Twitter Strategy

Lecture 60 Social Authentication : The logout button

Lecture 61 Social Authentication : Securing routes

Lecture 62 | An introduction

Lecture 63 | Installation and rewiring the server

Lecture 64 | Storing chat rooms and user data

Lecture 65 | Bridging with Session

Lecture 66 | Setting up the Rooms Page

Lecture 67 Socket.IO | Rendering the list of chatrooms

Lecture 68 Socket.IO | Creating a new chatroom

Lecture 69 Socket.IO | The chatroom route

Lecture 70 Socket.IO | Joining a chatroom

Lecture 71 Socket.IO | Updating the list of active users

Lecture 72 Socket.IO | When a user leaves or disconnects

Lecture 73 Socket.IO | The chat functionality

Lecture 74 Sending images using Cloudinary (Optional)

Lecture 75 Socket.IO | Scaling with Redis

Lecture 76 Logging with Winston

Lecture 77 Logging requests using Morgan

Lecture 78 Heroku | An introduction

Lecture 79 Heroku | Installing the Heroku Toolbelt CLI

Lecture 80 Heroku | Preparing for deployment

Lecture 81 Heroku | Setting up configuration variables

Lecture 82 Heroku | Provisioning Redis

Lecture 83 Heroku | Reconfiguring Facebook & Twitter and Deployment!

Lecture 84 Heroku | Monitoring your app

Lecture 85 Scaling up – An insight | Summary

Section 7: Node.JS on Amazon Web Services !

Lecture 86 Introduction to Project PhotoGRID

Lecture 87 IMPORTANT : Before you Begin

Lecture 88 Examining the User Interface & Getting Started

Lecture 89 Creating the Express App & Setting up

Lecture 90 Creating the Routes.js module

Lecture 91 Creating Configuration Files

Lecture 92 Amazon Web Services | Signing Up & Creating an S3 Bucket

Lecture 93 Amazon Web Services | Setting up a Bucket Policy

Lecture 94 Amazon Web Services | Setting up Knox

Lecture 95 Setting up the Upload Button Handler & AJAX

Lecture 96 Setting up Formidable for Receiving the files

Lecture 97 Setting up GraphicsMagick Library + gm for Nodejs for resizing images

Lecture 98 Uploading resized images to the S3 using Knox

Lecture 99 Storing the file name and votes in MongoDB on MongoLab

Lecture 100 Getting images into the Photogrid gallery

Lecture 101 Amazon Web Services | Setting up CloudFront Distribution

Lecture 102 Creating the Vote Up Functionality & Final Testing

Lecture 103 Amazon Web Services | Creating an Elastic Compute Cloud (EC2) Instance

Lecture 104 Amazon Web Services | Installing NodeJS on EC2

Lecture 105 Amazon Web Services | Creating an Elastic IP for your EC2 Instance

Lecture 106 Amazon Web Services | Installing the Photogrid App on the EC2 Instance

Lecture 107 Amazon Web Services | Security Group, Ports & Port Forwarding

Lecture 108 Amazon Web Services | Ensuring the Photogrid app runs automatically

Section 8: NodeJS and NGINX for the Kill !

Lecture 109 What are we talking about ?

Lecture 110 The Awesome Cloud9 IDE

Lecture 111 Spinning a Droplet on Digital Ocean & Using Cloud9IDE

Lecture 112 Installing Nginx

Lecture 113 Nginx as a Proxy Server for NodeJS

Lecture 114 Uploading and Reconfiguring ChatCAT to work with Nginx

Lecture 115 Load Balancing with NGINX

Section 9: Enterprise Integration | ES6 | HapiJS

Lecture 116 Introduction to Enterprise Integration

Lecture 117 The task at hand

Lecture 118 Installing Python dependencies on a Mac

Lecture 119 Installing Python dependencies on Windows

Lecture 120 Installing Apache Apollo on a Mac

Lecture 121 Installing Apache Apollo on Windows

Lecture 122 Configuring Apache Apollo | Users and Queues

Lecture 123 Introduction to the Hapi Framework

Lecture 124 Hello Hapi and a bit of ES6

Lecture 125 Writing the Core Plugin | Routes & Views

Lecture 126 Setting up

Lecture 127 Setting up the Stomp Client & Storing Access Credentials

Lecture 128 The ‘Process’ Button State

Lecture 129 Core Functionality : The Workflow

Lecture 130 Core Functionality : The Code

Lecture 131 UPDATE : Fixing the Array.observe() deprecation issue

Lecture 132 Fixing data retrieval on a page refresh

Lecture 133 Logging using Hapi

Lecture 134 Summary

Section 10: Epilogue

Lecture 135 Recommended Reading & Resources

Lecture 136 BONUS : Join my inner circle of friends!

Understand the inner workings of NodeJS,Web Designers & Front End Developers who wish to extend their knowledge of Javascript for building high performance network applications.,Software Developers who want to build high performance network applications.,Absolute beginners with basic knowledge of HTML, CSS and Javascript, wanting to upgrade to professional Web Development and Building Web Apps.,Anyone who wishes to get hands-on training with setting up an Amazon EC2 Instance with a host of other services like Cloudfront, Elastic IP and S3,Anyone who wishes to get hands-on training with deploying a NodeJS app on the cloud,Computer Engineering students,Tech Entrepreneurs who want to get their hands down and dirty with Web Coding & App Development.,Anyone who wishes to stay on the forefront of technology !,PHP, ASPnet, Perl, Java & Ruby coders wanting to leap onto the NodeJs bandwagon.

Course Information:

Udemy | English | 15h 52m | 6.58 GB
Created by: Sachin Bhatnagar

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top