4.7 out of 5
4.7
21997 reviews on Udemy

NodeJS – The Complete Guide (MVC, REST APIs, GraphQL, Deno)

Master Node JS & Deno.js, build REST APIs with Node.js, GraphQL APIs, add Authentication, use MongoDB, SQL & much more!
Instructor:
Academind by Maximilian Schwarzmüller
107,256 students enrolled
English More
Work with one of the most in-demand web development programming languages
Learn the basics as well as advanced concepts of NodeJS in great detail
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
Get a thorough introduction to DenoJS

Join the most comprehensive Node.js course on Udemy and learn Node in both a practical as well as theory-based way!

This course was updated to also include sections on Deno.js – in addition to more than 30 hours of content on Node.js!

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
  • Using TypeScript with Node.js
  • Exploring Deno.js
  • 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

Introduction

1
Introduction

Welcome to this Node.js course! Let me introduce myself and give you a rough overview of this course and what it's all about!

2
What is Node.js?

What is Node.js? That's the most important question in a Node course I'd argue and in this lecture, we'll explore what exactly NodeJS is and why it's amazing.

3
Join our Online Learning Community

Learning alone is absolutely fine but finding learning partners might be a nice thing, too. Our learning community is a great place to learn and grow together - of course it's 100% free and optional!

4
Installing Node.js and Creating our First App

We know what NodeJS is about - let's now see it in action. For that, let's install Node.js and create our first little application in this lecture.

5
Understanding the Role & Usage of Node.js

Node.js can be used for a broad variety of things - web servers being the most prominent use-case probably. In this lecture, you'll get an overview of the different things NodeJS can be used for.

6
Course Outline

We got a good idea of what Node.js is, now it's time to understand what exactly is in the course. In this lecture, I'll give you a good overview of the course content and the order in which it is presented.

7
How To Get The Most Out Of The Course

Your course success matters to me, hence in this lecture, I'll share some best practices regarding the course taking process and how you can get the most out of this course.

8
Working with the REPL vs Using Files

When writing Node code, you got two main options: Files which you execute or the REPL. This lecture explains + explores both alternatives.

9
Using the Attached Source Code

Stuck? Got an error you can't debug on your own? You find snapshots of my code attached to multiple lectures in the course! More information can be found in this lecture.

Optional: JavaScript - A Quick Refresher

1
Module Introduction
2
JavaScript in a Nutshell
3
Refreshing the Core Syntax
4
let & const
5
Understanding Arrow Functions
6
Working with Objects, Properties & Methods
7
Arrays & Array Methods
8
Arrays, Objects & Reference Types
9
Understanding Spread & Rest Operators
10
Destructuring
11
Async Code & Promises
12
Template Literals
13
Wrap Up
14
Useful Resources & Links

Understanding the Basics

1
Module Introduction
2
How The Web Works
3
Creating a Node Server
4
The Node Lifecycle & Event Loop
5
Controlling the Node.js Process
6
Understanding Requests
7
Sending Responses
8
Request & Response Headers
9
Routing Requests
10
Redirecting Requests
11
Parsing Request Bodies
12
Understanding Event Driven Code Execution
13
Blocking and Non-Blocking Code
14
Node.js - Looking Behind the Scenes
15
Using the Node Modules System
16
Wrap Up
17
Time to Practice - The Basics
18
Useful Resources & Links

Improved Development Workflow and Debugging

1
Module Introduction
2
Understanding NPM Scripts
3
Installing 3rd Party Packages
4
Global Features vs Core Modules vs Third-Party Modules
5
Using Nodemon for Autorestarts
6
Global & Local npm Packages
7
Understanding different Error Types
8
Finding & Fixing Syntax Errors
9
Dealing with Runtime Errors
10
Logical Errors
11
Using the Debugger
12
Restarting the Debugger Automatically After Editing our App
13
Debugging Node.js in Visual Studio Code
14
Changing Variables in the Debug Console
15
Wrap Up
16
Useful Resources & Links

Working with Express.js

1
Module Introduction
2
What is Express.js?
3
Installing Express.js
4
Adding Middleware
5
How Middleware Works
6
Express.js - Looking Behind the Scenes
7
Handling Different Routes
8
Time to Practice - Express.js
9
Parsing Incoming Requests
10
Limiting Middleware Execution to POST Requests
11
Using Express Router
12
Adding a 404 Error Page
13
Filtering Paths
14
Creating HTML Pages
15
Serving HTML Pages
16
Returning a 404 Page
17
Using a Helper Function for Navigation
18
Styling our Pages
19
Serving Files Statically
20
Time to Practice - Navigation
21
Wrap Up
22
Useful Resources & Links

Working with Dynamic Content & Adding Templating Engines

1
Module Introduction
2
Sharing Data Across Requests & Users
3
Templating Engines - An Overview
4
Installing & Implementing Pug
5
Outputting Dynamic Content
6
Official Pug Docs
7
Converting HTML Files to Pug
8
Adding a Layout
9
Finishing the Pug Template
10
Avoiding an Error
11
Working with Handlebars
12
Converting our Project to Handlebars
13
Adding the Layout to Handlebars
14
Working with EJS
15
Working on the Layout with Partials
You can view and review the lecture materials indefinitely, like an on-demand channel.
Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don't have an internet connection, some instructors also let their students download course lectures. That's up to the instructor though, so make sure you get on their good side!
4.7
4.7 out of 5
21997 Ratings

Detailed Rating

Stars 5
15264
Stars 4
5516
Stars 3
957
Stars 2
125
Stars 1
112
3253d846e219207f19ac99aa6248eb63
30-Day Money-Back Guarantee

Includes

40 hours on-demand video
62 articles
Full lifetime access
Access on mobile and TV
Certificate of Completion
1