Web Development


Node.js for Beginners - Become a Node js Developer + Project

Build an Amazing CMS system - Using Express + MongoDB + Bootstrap - Handlebars + Authentication + AJAX + Deployment

4.47 (1134 reviews)


23 hours


Apr 2020

Last Update
Regular Price


Blue Host
Fast, easy, and secure WordPress hosting in minutes + 1 free domain name
65%OFF : $2.95/month

What you will learn

To build Amazing NodeJS applications like the CMS we build here using Express, MongoDB and more

To deploy Nodejs Apps on the Cloud

To create Login and Registration system using NodeJS

To use Mongoose (ODM) - very similar to ORM

To create custom events

To import and export data

To use the Express FrameWork

To handle HTTP requests

To deal with Files

To use WebSockets - (Chat application)

To use PassportJS a module to login to Facebook, Twitter, Google and more

To use Template Engines like Handlebars

And LOTS more.......


I don't know about you,but regular classes bore me, and that is why on this Node.js course we make it fun to learn LOTS of cool things. This course is meant for total beginners in the NodeJs world. 

This is course is for you if..................

You are total beginner to NodeJs

You are looking for a better career

You are looking to UP your salary as developer

You have tried to learn NODE,js before and it was too hard - I make this EASY!

You are trying to get into the Angular World

You want to become a great Web Developer with a lot of success

You just need to make some serious income as developer 

What is NODEjs or Node.js ? 

First of all let me just say that Node.js is the most popular technology right now, and it's REPO website is the biggest in the WORLD, now let's begin......

Some of us call it Node.js, NODE, or just NodeJs but they all mean the same thing. NodeJs is a runtime to use JavaScript on servers. A runtime acts like a middle-man and in this case NodeJs is helping us use Javascript to handle system processes, files and even databases. NodeJs is written in C++ which is a powerful high level programming language that does LOTS of cool things.

My approach

I'm profesional but not boring

I'm a regular person just like you - your mentor, teacher!

I joke sometimes, so that you won't fall asleep (I know how that is)

My teaching method are Unorthodox - look it up :) 

My goal

On the contrary on why other people teach, I do it to help people succeed in life and also because I love teaching. I feel successful when my students become successful. Our goal is to teach as many people as possible and at the same time having a blast.

My promise to you

If you give me your time, I will make this learning experience something you will not forget. This course was created to change lives with all the knowledge included. 

All your questions will be answered in a timely manner

I will not bore you 

I will make it fun

You will get LOTS of knowledge from this course

Commonly Asked Questions.......................

Question: Is NODE.js worth learning?

WHAT? of course, Node.js is the hottest technology to learn right now. NodeJs jobs are some high in demand, there are not enough developers to fill them. As the matter of fact we get TONS of emails from recruiters asking for NODE.js developers.

Q: Can I make Money know NODE.js?

Excuse me? Money comes automatically once you have this skill. You walk by an ATM and money comes out just for you, JUST kidding :) . Really!  you do not have to worry about JOBS, or projects when you know NODE.js you can choose who you want to work with. This course will teach everything you need to know to start really making it happen for you, trust me. Of course you have to get yourself some a resume and show your skills to your future employers but that is why we are here, to help with the skills.

Your $MONEY invested in this course will be multiplied over and over again. Udemy makes courses SUPER affordable for anyone. A course like this would cost thousands of dollars on the market place but here you can grab it for a fraction and with a 30 day no questions asked Guarantee.


Node.js for Beginners - Become a Node js Developer + Project
Node.js for Beginners - Become a Node js Developer + Project
Node.js for Beginners - Become a Node js Developer + Project
Node.js for Beginners - Become a Node js Developer + Project


Introduction and first steps


Exercise files

What is Node.js

Installing NODE.js in a MAC

Installing NODE.js in Windows

Core Fundamentals

IDE's recommended to use

The Global object

The Process object


Custom Events



Child Processes

Core Fundamentals - Playing with the File System

Reading files

Writing files

Creating directories

Removing directories

Renaming directories

Core Fundamentals - HTTP - NPM and More

HTTP native Requests

Creating Web Servers

Serving files

HTTP and JSON data part 1

HTTP and JSON data part 2

HTTP & Post Data

Intro to NPM


Server Automation Module

The Express Framework

The Intro


Route Parameters


Submitting Post Data with Express

The exciting World of Websockets - Small Chat App

Intro and Connection

Sending Form Data


Client Side Data Data Handling

Communication with all clients

Database - How to use MongoDB

Database intro

Installing MongoDB in Windows

Installing MongoDB in a MAC

Connecting to MongoDB using the MondoDB Client

Connecting to MongoDB using an ODM - Mongoose

Let's learn some Database Vocabulary

MongoDB Client - Inserting Data

The ObjectID

MongoDB Client- Fetching

MongoDB Client - Updating

MongoDB Client Deleting

PostMan Installation

Database - How to use Mongoose - ODM

Mongoose - ODM - Setup

Mongoose - creating a Model part 1

Mongoose - creating a Model part 2 - Data insertion and Validation

Mongoose - creating a Model part 3 - Using the Schema Object

Setting up Express

Creating Routes part 1

Creating Routes part 2 - saving raw data

Setting up our code to save POST data

Saving POST data

Fetching Data

Updating Data with PATCH

Updating Data with PUT

Deleting Data

Login and Registration

Intro and Modules Downloads

Setting up Express Server and our Database

Creating our User Model

Registration part 1 - Creating our register route

Registration part 2 - Adding our Body Parser

Registration part 3- Saving the User

Registration part 4- Let's Hash the Password

Login part 1 - Setting up the Login route

Login part 2 - Testing User Login

CMS Project Section

Project directories setup

Initializing our server

Setting up Home page

Dynamic page content and getting styles to work

Including Partials

Creating our Login and Registration Views

Build home page views

Admin Setup part 1 - Loading and using routes

Admin Setup part 2 - Default layout

Admin Setup part 3 - partials and links

Admin Setup part 4 - Javascript files

CMS Project Section - POSTS

Creating Post routes part 1

Let's create a database connection

Creating the form part 1

Creating the form part 1

Creating a Post Model part 1

Creating a Post Model part 2

Including body-parser and testing

Testing our Post model

Saving a Post

Reading data part 1 - Form creation

Reading Data part 2 - Reading data

Updating part 1

Updating part 2 - Displaying data back to the form

Updating part 3 - Handlebars function setup

Updating part 4 - Handlebars function finished

Updating part 5 - Method Override Module

Updating part 6 - Finally updating :)

Deleting Posts

Dummy Data creation part 1 - setup

Dummy Data creation part 2 - Finished

CMS Project - UPLOAD feature

Installing and setting up the Upload Module

Testing the FILES Object

Uploading a file

Creating a helper function to test Empty Objects

Inserting the file reference to the database

Modifying duplicate pictures to have different names

Displaying the uploaded pictures

Deleting the files / images with the post

CMS Project - Form Validation

Validation part 1

Validation part 2

Model Validations - CATCH

CMS Project - Something about SESSIONS / FLASH

Installing Module

Checking SESSION and displaying Flash messages

Session errors in partials

UPLOAD - update - editing files in post

Update and Delete Flash message

Cleaning up Nav links

CMS Project - Extra Feature Dates

Adding default Dates on Post Model

Installing Date Module and setup

Using a Handlebars function to format dates in Views

CMS Project - Front End POSTS

Home page dynamic data part 1 - Setup

Home page dynamic data part 2 - Displaying data

Creating a SINGLE post route part 1 -Setup

Creating a Single Post Route part 2 -Replacing Static with Dynamic data

CMS Project - Categories

Views routes and setup

Categories Index - Create Form

Categories Index - Display Form

Creating a category

Displaying Categories

Categories edit part -1 - Link

Categories edit part 2 - Edit View

Categories - Updating

Categories - Deleting

Displaying Categories in Home Page

Adding a Select to the Edit Post View

Adding a Select to the Create Post View

Finishing up with Categories

CMS Project - Authentication - Registration Section

Auth Intro

Creating our User Model

Adding our User to the Post route

Adding some Validation

Registering a User

Hashing User's password with a module - part 1

Hashing User's password with a module - part 2

Adding Flash notification for registration

User already exists feature

CMS Project - Authentication - Login Section

Moving Database Config and Post login route

Passport Module part 1 - Login route setup

Passport Module part 2 - testing

Passport Module part 3 - Verifying users

Passport Module part 3 - Logging in the Users

Displaying Logged-In User and Errors

Login out

Login out Modal

Protecting our Admin Routes

CMS Project - Comments

Model relationships

Create route part 1 - form

Create route part 2 - creating comments

Setting up our Comment index

Displaying Comments

Displaying Comment Owner and formatting date

Deleting comments

Deleting Post with comments

Displaying only logged in user comments

Deleting comment references in the Post documents

Hiding comments if not allowed

Displaying comments - FRONT-END

Populating users in comments

Populating user for posts

Creating a User specific page for Posts

CMS Project - Comments - AJAX Feature

Installing Bootstrap Buttons Plugin

Initializing our Button

Listening for the Change Event

Sending the AJAX request - Test

Getting Data

Finally Updating with AJAX

Adding some Notifications with this AWESOME JS Library

Displaying only approved comments

Adding Flash notification to comments

CMS Project - Admin Chart - Extra Features

Creating a chart on Admin

Displaying dynamic data on chart

CMS Project Extra Feature - Pretty URL's

Downloading Package and setup part 1

Creating Slugs

Displaying Pretty URL's

CMS Project Extra Features - Pagination

Creating handlebars helper function and testing

Route modification

Creating dynamic list items in Handlebars function part 1

Creating dynamic list items in Handlebars function part 2

Creating dynamic list items in Handlebars function part 3

Creating dynamic list items in Handlebars function part 4

Extra Features and Refactoring

Multiple queries in one GO - part 1

Multiple queries in one GO - part 2

Extra Features - Deployment

Signing up for Cloud Services

Creating our remote database

Connection to the database

Installing Heroku

Launching our App Online

Refactoring database connections

Adding a domain


Manoj3 September 2020

The instructions are clear and to the point. But tutorial videos are blurred and then become clear again. It is definitely an eyesore.

Michael4 June 2020

Good course, good content and a likable tutor. Best to have an understanding of html and css, but not essential.

Graham23 May 2020

As a beginner I found this course very insightful! For me, I love that Edwin leaves his mistakes in for us to follow along as it is a good insight into fault finding and often I would pause the video and look for the fault myself before I watch Edwin's solution. Very easy to follow along and good explanation of each part. This is my second course from Edwin I have completed and have a handful more due to the clear and fun teaching style!

Hassaan11 April 2020

This course has the best instructor very friendly and helpful. I would love to follow all the advice present in this course. Thank you for everything!

Alexander11 March 2020

Good content and overall good course, but sometimes the massive line spacing between code snippets gets annoying because it's difficult to follow the flow of code

Gashie12 January 2020

This course should be removed from udemy if the instructor fails to update, i mean c'mon Edwin.. i was expecting much better from you

Patryk16 December 2019

I'm really a beginner, and I need to say that the course was great. I've learned a lot, and even if there are some things that I need to work on, I'm really happy. Thank you for the course!

Mohammed11 December 2019

The Journey for me is not like a Rocket Science but I was a completely newbie before this course 6 months ago I came from a PHP background and all these things were like a new world for me. But Thanks to the Instructor Edwin he somewhat changed my life now after completing my course I can proudly say that I'm now quite familiar with the code and can debug and write the application by following documentations. The big change that I notice in me after this course is I can read the documentation and write the code by myself without remembering much.

Rafal21 November 2019

Fantastic tutorial, great teacher and i love watching his tutorials and his structure and the way Edwin is explaining things, simplest way. Good job Edwin

Alexandr29 October 2019

lots of terms which hasn't been mentioned for beginners. a lot of stuff that wasnt been explained -> "do like this guys... this and this"

Jori-Pekka5 September 2019

For now it seems there is no plot going through teaching. Only stuff which doesn't seem to relate in any way to each other.

Lokesh3 September 2019

Not a good course at all. I am expecting trainer will resolve issues and can guide me from a very basic level.

Mohamad16 June 2019

it's good course but you just need to explain more about some stuff that aren't famous in other languages like websockets

Kelly28 March 2019

The teacher is very informative and provides further detail on applications that are useful. He also provides good explanations so you have a better understanding.

Demetrius6 March 2019

I'm very experienced with implementing API w/ node and I learned some small thing that will help me in the long run. Thanks!


Udemy ID


Course created date


Course Indexed date
Course Submitted by