Web Development


Code with Node JS - 2021

Build a Feature Rich, Production Ready, Web Application with Node JS

4.28 (667 reviews)


19 hours


Apr 2021

Last Update
Regular Price

What you will learn

Intermediate to advanced level web development and programming with Node and Express JS

How to debug errors on the fly

How to pick up new technologies fast

How to build features like pagination, search, filtering, geolocation, clustering, geospatial indexing, authentication, user profiles, image upload, and more!

How to build on pre-existing skills learned from courses like The Web Developer Bootcamp or Free Code Camp


Code w/ Node is a web developer course that teaches you how to create production grade features for a robust web app using Node and Express JS. The course is also designed to help you become a self-sufficient developer who can solve complex problems on the fly.

Elevate your developer skills in this learn by doing course where we will be building a feature rich, production ready, web application with the NEMO stack (Node Express MongoDB & Other stuff).

In this course you will build a production ready RESTful CRUD application that has:
- Bootstrap 4 styling
- ES6 (and later) syntax
- Maps with Mapbox
- Geospatial indexing
- Search
- Filtering
- Pagination
- Image upload (single and multiple)
- Mailers
- Password reset
- And much more!

Master key skills, including:
- Debugging effectively with locus
- Looking up solutions online
- Problem solving on the fly

Code with Node features a strong Discord community, where you can find help with bugs or make new friends to chat about code with.

This isn't your average run-of-the-mill follow along course. We'll be running into real-world bugs and solving them together.

By the end of this course you will not only have what it takes to build a complex web application, but you will likely be a more confident developer who can solve problems and learn new skills on the fly.

Are you ready to become a self-sufficient developer?

Let's get started! :)


Code with Node JS - 2021
Code with Node JS - 2021
Code with Node JS - 2021
Code with Node JS - 2021


Intro & Overview


How to Get Help with a Bug or Issue

Introduction & Trello Setup

Bootstrapping of Express & Database Design

Course Note About Express-generator Update

Setting up Express with Express-generator

Database Design

Source Code: Database Design


Post Routes

Source Code: Post Routes

Review Routes

Source Code: Review Routes

User Routes

Source code: User Routes


User Model

Post Model

Review Model

Source Code: Models

User Authentication

Set Up Passport

Configure Passport & Create Index Controller

Test postRegister Method

Note about the next lecture

Connect to MongoDB & Test /register POST Route

Add User Email & Profile Image

Source Code: User Authentication (1-5)

Refactor /register Post Route

Refactor postRegister & errorHandler

Source Code: User Authentication (6-7)

/login and /logout Routes

Source Code: User Authentication (8)

Refactor /login and /logout Routes

Source Code: User Authentication (9)

Post Resource

Posts - Index

Source Code: Posts Index

Posts - New

Source Code: Posts New

Posts - Create

Source Code: Posts Create

Posts - Show

Source Code: Posts Show

Posts - Index (Revisited)

Source Code: Posts Index Revisited

Posts - Edit

Source Code: Posts Edit

Posts - Quick Refactor

Source Code: Posts Quick Refactor

Posts - Update

Source Code: Posts Update

Posts - Destroy

Source Code: Posts Destroy

Images Upload with Cloudinary

Posts - Images Upload - Create

Source Code: Posts - Images Upload - Create

Posts - Images Upload - Review

Source Code: Posts - Images Upload - Review

Posts - Images Upload - Client Validation

Source Code: Posts - Images Upload - Client Validation

Posts - Images Upload - Edit/Update

Source Code: Posts - Images - Upload Edit/Update

Posts - Images Upload - Edit/Update - Review

Posts - Images Upload - Delete

Source Code: Posts - Images Upload - Delete

Geolocation with Mapbox

Important note about the following lecture

Posts - Mapbox - Signup and Geocode

Source Code: Posts - Mapbox - Signup and Geocode

Posts - Mapbox - Displaying the Map

Source Code: Posts - Mapbox - Displaying the Map

Posts - Mapbox - Dynamic Map

Source Code: Posts - Mapbox - Dynamic Map

Posts - Mapbox - Update Location

Source Code: Posts - Mapbox - Update Location

EJS Layouts

Layouts - Intro

Layouts - Show

Source Code: Layouts - Intro & Show

Layouts - Navbar

Source Code: Layouts - Navbar

Layouts - Flash Messages - Part 1

Layouts - Flash Messages - Part 2

Source Code: Layouts - Flash Messages

Review Resource

Reviews - Initial Setup

Source Code: Reviews - Initial Setup

Reviews - Create

Source Code: Reviews - Create

Reviews - cURL

Source Code: Reviews - cURL

Reviews - Author

Source Code: Reviews - Author

Reviews - Toggle Edit Form

Reviews - Update

Reviews - Cleanup of Client JS

Source Code: Reviews - Edit/Update

Reviews - Authorization

Source Code: Reviews - Authorization

Reviews - Delete

Source Code: Reviews - Delete

Reviews - Restrict

Source Code: Reviews - Restrict

Reviews - Delete Refs

Source Code: Reviews - Delete Refs

Reviews - Star Rating

Source Code: Reviews - Star Rating

Sublime Text - Markdown Preview Package

Reviews - Clear Rating Button

Source Code: Reviews - Clear Rating Button

Post - Seeds & Pagination

Posts - Seeds & Pagination Pt. 1

Posts - Seeds & Pagination Pt. 2

Source Code: Posts - Seeds & Pagination

Post - Average Rating

Posts - Average Rating Pt. 1

Posts - Average Rating Pt. 2

Source Code: Posts - Average Rating

Cluster Maps

Cluster Maps Pt. 1 - Follow Along

Cluster Maps Pt. 2 - Follow Along

Cluster Maps Pt. 3 - Explanation

Cluster Maps Pt. 4 - Explanation

Cluster Maps Pt. 5 - Explanation

Cluster Maps Pt. 6 - Post Create and Update

Source Code: Cluster Maps

Multer Storage Cloudinary

Multer Storage Cloudinary Pt 1.

Multer Storage Cloudinary Pt 2.

Source Code: Multer Storage Cloudinary

User Authentication and Authorization (Cont.)

Pt. 1 - Add methods to routes

Pt. 2 - Add views and validation middleware

Source Code: User Auth. Continued (Pt.1 & 2)

Pt. 3 - Remove checkIfUserExists and update postLogin

Pt. 4 - Update postRegister, add email validation, and fix Not Found error

Source Code: User Auth. Continued (Pt.3 & 4)

Pt. 5 - Add isAuthor Middleware

Pt. 6 - Update UI and Test Pt. 5 Changes

Source Code: User Auth. Continued (Pt.5 & 6)

Housekeeping - Bug Fixes and Updates

Intro - Skit

Bug Fixes and Updates Pt. 1

Source Code: Bug Fixes and Updates Pt. 1

Bug Fixes and Updates Pt. 2

Source Code: Bug Fixes and Updates Pt. 2

User Profile

Pt. 1 - Create profile and add recent posts

Source Code: User Profile Pt. 1

Pt. 2 - Add update profile form and update navbar

Pt. 3 - Add client JS for form validation

User Profile (4)

Source Code: User Profile (2 - 4)

User Profile (5)

Source Code: User Profile (5)

Profile Image

Feature Overview

Client Setup and User Model Update

Add deleteProfileImage Middleware

Update Index Controller

Update User (Index) Routes

Source Code: Profile Image

Forgot Password / Reset

Pt. 1 - Feature Overview

Pt 2. - Sign Up for SendGrid

Pt. 3 - New Guide Format

Pt. 4 - Add API key, Install SendGrid, & Update User Model

Pt. 5 - Views

Pt. 6 - Index Controller (1)

Pt. 7 - Index Controller (2)

Pt. 8 - Index Controller (3)

Pt. 9 - Routes

Source Code: Forgot Password / Reset

Search and Filter

Pt. 1 - Feature Overview

Pt. 2 - Code Overview

Pt. 3 - Add 2dsphere Index to Post Model

Pt. 4 - Update Seeds File & Re-seed Database

Pt. 5 - Views (boilerplate & paginatePosts)

Pt. 6 - Views (searchFilter)

Pt. 7 - Views (searchFilter cont.)

Pt. 8 - Views (posts/index)

Pt. 9 - Controllers (posts)

Pt. 10 - Views Refactor (1)

Pt. 11 - Views Refactor (2)

Pt. 12 - Middleware (1)

Pt. 13 - Middleware (2)

Pt. 14 - Middleware (3)

Pt. 15 - Middleware (4)

Pt. 16 - Middleware (5)

Pt. 17 - Middleware (6)

Pt. 18 - Routes, Public, and Feature Test

Pt. 19 - Use My Location

Note: Bug Fix

Source Code: Search and Filter


Pt. 1 - Feature Overview

Pt. 2 - Copy Theme Files and Install Moment

Pt. 3 - Update Seeds, Index Controller, Styles, and Client JS


Nirjal5 October 2020

I had a prior knowledge and this is refreshing plus i learned many new good things. All hail the creater

Amartya20 September 2020

I am really amazed with Ian's style of teaching. He is really cool with NodeJS. I wish I had known this course earlier.

Akshay17 August 2020

Great Course! It surely help us to levels up our skills regarding backend. Got to learn many new things

Chandrashekhar14 August 2020

Nice explanation and easy to follow. Feels like working in real project....... it is a real project :-)

Pedro2 July 2020

Really good course, the guy just pciked all good things about colt steele fullstack course and fixed the bad things. I'm just sad he's using bootstrap

Bivas11 February 2020

This is very helpful to understand Node.js programming. It is actually teaching me all these techniques which I see as a user when I register in a site. It's great & exiting.

Michael24 January 2020

This is maybe the best course i took until now at Udemy. It's amazing that it's free. I wish I found this earlier. Great job, Ian!

Oussema13 January 2020

amazing course that teaches how to think like a professional developer the only downfall of it is that the instructor decided to stop completing and updating the course

Jonas8 January 2020

Ian is a Master and Comander, I enjoy this lectures, I recomend this course if you wana know if the programming is for you. :-) Men this is a amazing course!!!

Atanas6 January 2020

So far so good. I like the way Ian teach and share his experience with us. Really cool course and Ian try to be funny where is possible to broke the ice :) I enjoy very much coding with him. Thank you, Ian! You are a great teacher!

Marcelo8 November 2019

I learned so much from Ian's course. In fact, I learned new and better ways of coding as well as Ian's workflow. Ian created something amazing. His course is a gold mine. I just hope he realizes that so that he can go back to it and continue with the course. "Great works are performed not by strength but by perseverance" - Samuel Johnson.

Jason5 August 2019

Awesome course! Anyone looking to sharpen their server-side JavaScript skills can benefit. Ian does a phenomenal job of explaining things as he goes along, so you actually get to learn, as opposed to just coding along with someone. It's more than worth the price of admission!

Marie12 July 2019

Cool! I enjoyed Ian's teaching style. All is clear and if it is too fast for anyone, you can change the video speed delivery. Beside Ian is a Texan so it can only be good! Go Texas!

Md.10 July 2019

As a follow up from Colt's web developer bootcamp it is a very nice course. It really solidifies what I learned . Also as a standalone course it is awesome. It teaches you how to plan a real life application. It is very very essential. So it is a must for anyone who knows the "MEN" (MongoDB, Express, NodeJS) stack. However, as the course suggests it is not a beginner course so don't take it as. It would have been much better if 'router.route' in routes and 'mongoose.promise' in data model was used. These are indeed very miner things.

Shreyash30 June 2019

Ian is the one of the best Web Developer and a great Instructor. You can purchase any of his courses blindfolded... Awesome support and mind-blowing content... Thanks Ian. Sad News: :( This course has been discontinued by the instructor and this hurt many students including me. We came to know that Instructor is burnt out and hence he discontinued the course. But in my opinion, he could have taken a break of a month, or two or even 6 months break. But discontinuing a course hurts students and disheatens them. Now, even if you give this course for free, students would fear that it is an incomplete course. Ian is a professional and one of my favourite mentors, but I never expected this from his side. Sorry Ian, but I am hurt.


1/6/2021100% OFFExpired
8/11/2021100% OFFExpired


Udemy ID


Course created date


Course Indexed date
Course Submitted by