NodeJS - The Complete Guide (incl. MVC, REST APIs, GraphQL)
4.8 (5,679 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
30,781 students enrolled

NodeJS - The Complete Guide (incl. MVC, REST APIs, GraphQL)

Master Node JS, build REST APIs with Node.js, GraphQL APIs, add Authentication, use MongoDB, SQL & much more!
Bestseller
4.8 (5,679 ratings)
Course Ratings are calculated from individual students’ ratings and a variety of other signals, like age of rating and reliability, to ensure that they reflect course quality fairly and accurately.
30,781 students enrolled
Last updated 3/2019
English
English
Current price: $14.99 Original price: $199.99 Discount: 92% off
30-Day Money-Back Guarantee
This course includes
  • 35.5 hours on-demand video
  • 55 articles
  • 455 downloadable resources
  • Full lifetime access
  • Access on mobile and TV
  • Assignments
  • Certificate of Completion
Training 5 or more people?

Get your team access to Udemy's top 3,000+ courses anytime, anywhere.

Try Udemy for Business
What you'll learn
  • Work with one of the most in-demand web development programming languages
  • Build modern, fast and scalable server-side web applications with NodeJS, databases like SQL or MongoDB and more

  • Understand the NodeJS ecosystem and build server-side rendered apps, REST APIs and GraphQL APIs

Course content
Expand all 484 lectures 35:47:23
+ Optional: JavaScript - A Quick Refresher
14 lectures 50:28
Module Introduction
01:36
JavaScript in a Nutshell
02:35
Refreshing the Core Syntax
04:34
let & const
02:27
Understanding Arrow Functions
05:17
Working with Objects, Properties & Methods
03:19
Arrays & Array Methods
04:16
Arrays, Objects & Reference Types
02:13
Understanding Spread & Rest Operators
06:40
Destructuring
05:37
Async Code & Promises
10:28
Template Literals
00:30
Wrap Up
00:50
Useful Resources & Links
00:06
+ Understanding the Basics
17 lectures 01:33:14
Module Introduction
01:50
How The Web Works
04:11
Creating a Node Server
13:22
The Node Lifecycle & Event Loop
04:53
Controlling the Node.js Process
00:08
Understanding Requests
03:10
Sending Responses
05:37
Request & Response Headers
00:17
Routing Requests
05:48
Redirecting Requests
04:10
Parsing Request Bodies
11:12
Understanding Event Driven Code Execution
06:00
Blocking and Non-Blocking Code
05:04
Node.js - Looking Behind the Scenes
12:01
Using the Node Modules System
10:05
Wrap Up
05:15
We already had a detailed look at the Node.js basics - time to practice what we learned so far in this assignment!
Time to Practice - The Basics
1 question
Useful Resources & Links
00:11
+ Improved Development Workflow and Debugging
16 lectures 47:54
Module Introduction
00:40
Understanding NPM Scripts
07:03
Installing 3rd Party Packages
08:20
Global Features vs Core Modules vs Third-Party Modules
00:44
Using Nodemon for Autorestarts
01:36
Global & Local npm Packages
00:44
Understanding different Error Types
01:49
Finding & Fixing Syntax Errors
03:10
Dealing with Runtime Errors
02:47
Logical Errors
06:32
Using the Debugger
03:10
Restarting the Debugger Automatically After Editing our App
06:21
Debugging Node.js in Visual Studio Code
00:06
Changing Variables in the Debug Console
01:26
Wrap Up
03:14
Useful Resources & Links
00:10
+ Working with Express.js
20 lectures 01:34:13
Module Introduction
02:15
What is Express.js?
03:43
Installing Express.js
03:47
Adding Middleware
05:13
How Middleware Works
02:58
Express.js - Looking Behind the Scenes
03:42
Handling Different Routes
04:59
We had a look at the basic features of Express.js so let's practice what we learned in the last lectures!
Time to Practice - Express.js
1 question
Parsing Incoming Requests
08:00
Limiting Middleware Execution to POST Requests
01:48
Using Express Router
08:04
Adding a 404 Error Page
02:30
Filtering Paths
03:38
Creating HTML Pages
05:09
Serving HTML Pages
07:19
Returning a 404 Page
02:00
Using a Helper Function for Navigation
03:37
Styling our Pages
13:58
Serving Files Statically
07:49
Time for the second assignment of this module, are you ready?
Time to Practice - Navigation
1 question
Wrap Up
03:36
Useful Resources & Links
00:08
+ Working with Dynamic Content & Adding Templating Engines
16 lectures 01:38:04
Module Introduction
02:31
Sharing Data Across Requests & Users
08:05
Templating Engines - An Overview
04:40
Installing & Implementing Pug
11:04
Outputting Dynamic Content
11:02
Official Pug Docs
00:04
Converting HTML Files to Pug
05:55
Adding a Layout
05:35
Finishing the Pug Template
05:50
Working with Handlebars
05:08
Converting our Project to Handlebars
07:41
Adding the Layout to Handlebars
08:41
Working with EJS
08:19
Working on the Layout with Partials
09:33
Wrap Up
03:46
We learned a lot about Pug, Handlebars and EJS so let's see if we know how to use these templating engines now!
Time to Practice - Templating Engines
1 question
Useful Resources & Links
00:10
+ The Model View Controller (MVC)
10 lectures 44:04
Module Introduction
00:52
What is the MVC?
02:48
Adding Controllers
09:20
Finishing the Controllers
02:37
Adding a Product Model
08:05
Storing Data in Files Via the Model
09:39
Fetching Data from Files Via the Model
03:55
Refactoring the File Storage Code
04:25
Wrap Up
02:15
Useful Resources & Links
00:08
+ Optional: Enhancing the App
9 lectures 36:06
Module Introduction
01:21
Creating the Shop Structure
05:34
Working on the Navigation
02:49
Registering the Routes
11:04
Storing Product Data
05:15
Displaying Product Data
03:02
Editing & Deleting Products
04:47
Adding Another Item
02:08
Useful Resources & Links
00:06
+ Dynamic Routes & Advanced Models
20 lectures 01:39:04
Module Introduction
01:07
Preparations
01:23
Applied Changes
00:05
Adding the Product ID to the Path
04:34
Extracting Dynamic Params
04:32
Loading Product Detail Data
04:52
Rendering the Product Detail View
05:26
Passing Data with POST Requests
07:19
Adding a Cart Model
12:29
Using Query Params
07:54
Pre-Populating the Edit Product Page with Data
06:46
Linking to the Edit Page
02:20
Editing the Product Data
08:58
Adding the Product-Delete Functionality
05:34
Deleting Cart Items
08:11
Displaying Cart Items on the Cart Page
08:45
Deleting Cart Items
05:24
Fixing a Delete Product Bug
01:31
Wrap Up
01:46
Useful Resources & Links
00:08
+ SQL Introduction
14 lectures 52:47
Module Introduction
01:33
Choosing a Database
04:17
NoSQL Introduction
04:20
Comparing SQL and NoSQL
05:06
Setting Up MySQL
07:16
Connecting our App to the SQL Database
06:50
Basic SQL & Creating a Table
04:07
Retrieving Data
03:00
Fetching Products
06:30
Fetching Products - Time to Practice
01:04
Inserting Data Into the Database
04:12
Fetching a Single Product with the "where" Condition
02:57
Wrap Up
01:24
Useful Resources & Links
00:11
Requirements
  • General knowledge of how the web works is recommended but not a must-have
  • Basic JavaScript knowledge is strongly recommended but could be picked up whilst going through the course
  • NO NodeJS knowledge is required!
Description

Join the most comprehensive Node.js course on Udemy!

Node.js is probably THE most popular and modern server-side programming language you can dive into these days!

Node.js developers are in high demand and the language is used for everything from traditional web apps with server-side rendered views over REST APIs all the way up to GraphQL APIs and real-time web services. Not to mention its applications in build workflows for projects of all sizes.

This course will teach you all of that! From scratch with zero prior knowledge assumed. Though if you do bring some knowledge, you'll of course be able to quickly jump into the course modules that are most interesting to you.

Here's what you'll learn in this course:

  • Node.js Basics & Basic Core Modules

  • Parsing Requests & Sending Responses

  • Rendering HTML Dynamically (on the Server)

  • Using Express.js

  • Working with Files and generating PDFs on the Server (on-the-fly)

  • File Up- and Download

  • Using the Model-View-Controller (MVC) Pattern

  • Using Node.js with SQL (MySQL) and Sequelize

  • Using Node.js with NoSQL (MongoDB) and Mongoose

  • Working with Sessions & Cookies

  • User Authentication and Authorization

  • Sending E-Mails

  • Validating User Input

  • Data Pagination

  • Handling Payments with Stripe.js

  • Building REST APIs

  • Authentication in REST APIs

  • File Upload in REST APIs

  • Building GraphQL APIs

  • Authentication in GraphQL APIs

  • File Upload in GraphQL APIs

  • Building a Realtime Node.js App with Websockets

  • Automated Testing (Unit Tests)

  • Deploying a Node.js Application

  • And Way More!

Does this look like a lot of content? It certainly is!

This is not a short course but it is the "Complete Guide" on Node.js after all. We'll dive into a lot of topics and we'll not just scratch the surface.

We'll also not just walk through boring theory and some slides. Instead, we'll build two major projects: An online shop (including checkout + payments) and a blog.

All topics and features of the course will be shown and used in these projects and you'll therefore learn about them in a realistic environment.


Is this course for you?

If you got no Node.js experience, you'll love this course because it starts with zero knowledge assumed. It's the perfect course to become a Node.js developer.

If you got basic Node.js experience, this course is also a perfect match because you can go through the basic modules quickly and you'll benefit from all the deep dives and advanced topics the course covers.

Are you an advanced Node.js user? Check the curriculum then. Maybe you found no other course that shows how to use SQL with Node.js. Or you're interested in GraphQL. Chances are, that you'll get a lot of value out of this course, too!


Prerequisites

  • NO Node.js knowledge is required at all!

  • NO other programming language knowledge (besides JavaScript, see next point) is required

  • Basic JavaScript knowledge is assumed though - you should at least be willing to pick it up whilst going through the course. A JS refresher module exists to bring you up to the latest syntax quickly

  • Basic HTML + CSS knowledge helps but is NOT required

Who this course is for:
  • Beginner or advanced web developers who want to dive into backend (server-side) development with NodeJS
  • Everyone who's interested in building modern, scalable and high-performing web applications
  • Experienced NodeJS developers who want to dive into specific features like using GraphQL with NodeJS