We may earn an affiliate commission when you visit our partners.
Course image
Udemy logo

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

Academind by Maximilian Schwarzmüller and Maximilian Schwarzmüller

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

-

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

Read more

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

-

Node.js is probably THE most popular and modern server-side programming language you can learn 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

Enroll now

What's inside

Learning objectives

  • 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

Syllabus

This course is about Node.js - but what is Node.js? This module introduces you to both the course structure as well as the core topic: Node.js
Read more

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!

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.

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!

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.

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.

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.

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.

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

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.

Node.js uses JavaScript, hence this module provides a refresher on some core JavaScript syntax.
Module Introduction
JavaScript in a Nutshell
Refreshing the Core Syntax
let & const
Understanding Arrow Functions
Working with Objects, Properties & Methods
Arrays & Array Methods
Arrays, Objects & Reference Types
Understanding Spread & Rest Operators
Destructuring
Async Code & Promises
Template Literals
Wrap Up
Useful Resources & Links
The basics are super-important, hence this course module dives into the core Node.js concepts and the basics you absolutely have to know.
How The Web Works
Creating a Node Server
The Node Lifecycle & Event Loop
Controlling the Node.js Process
Understanding Requests
Sending Responses
Request & Response Headers
Routing Requests
Redirecting Requests
Parsing Request Bodies
Understanding Event Driven Code Execution
Blocking and Non-Blocking Code
Node.js - Looking Behind the Scenes
Using the Node Modules System
Time to Practice - The Basics
Improved Development Workflow and Debugging
Understanding NPM Scripts
Installing 3rd Party Packages
Global Features vs Core Modules vs Third-Party Modules
Using Nodemon for Autorestarts
Global & Local npm Packages
Understanding different Error Types
Finding & Fixing Syntax Errors
Dealing with Runtime Errors
Logical Errors
Using the Debugger
Restarting the Debugger Automatically After Editing our App
Debugging Node.js in Visual Studio Code
Changing Variables in the Debug Console
Working with Express.js
What is Express.js?
Installing Express.js
Adding Middleware
How Middleware Works
Express.js - Looking Behind the Scenes
Handling Different Routes
Time to Practice - Express.js
Parsing Incoming Requests
Limiting Middleware Execution to POST Requests
Using Express Router
Adding a 404 Error Page
Filtering Paths
Creating HTML Pages
Serving HTML Pages
Returning a 404 Page
A Hint!
Using a Helper Function for Navigation
Styling our Pages
Serving Files Statically
Time to Practice - Navigation
Working with Dynamic Content & Adding Templating Engines
Sharing Data Across Requests & Users
Templating Engines - An Overview
Installing & Implementing Pug
Outputting Dynamic Content
Official Pug Docs
Converting HTML Files to Pug
Adding a Layout
Finishing the Pug Template
Avoiding an Error
Working with Handlebars
Converting our Project to Handlebars
Adding the Layout to Handlebars
Working with EJS

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Teaches Node.js from scratch, making it accessible to beginners
Instructors have a strong reputation for producing comprehensive Node.js courses
Develops skills in server-side rendering, REST and GraphQL APIs, and real-time web services
Provides a thorough introduction to Deno.js
Requires only a basic understanding of JavaScript, making it accessible to learners with limited programming experience

Save this course

Save NodeJS - The Complete Guide (MVC, REST APIs, GraphQL, Deno) to your list so you can find it easily later:
Save

Reviews summary

Comprehensive and engaging node.js course

Learners say this Node.js course is easy to follow, engaging, and comprehensive. They describe the course as a great choice for those looking to develop a solid understanding of Node.js. Max is described as a great teacher and learners express appreciation for Adam's support in the Q&A section.
The course provides support in the Q&A section.
"Also great thanks to Adam for many answers in Q&A section, if you get into any problems throughout the course you are not left alone with them."
Max is described as a great teacher.
"Max is a great teacher and you if you decide to dive into Node.js and learn it this course is definitely great pick."
The course provides a solid foundation in Node.js.
"That was an amazin course! It gave me a very solid Node.js knowledge, and was also easy and fun to follow along."

Career center

Learners who complete NodeJS - The Complete Guide (MVC, REST APIs, GraphQL, Deno) will develop knowledge and skills that may be useful to these careers:
Back-End Developer
Back-End Developers are responsible for the server-side logic of websites and web applications. This course is a great fit for those looking to enter this field by providing a deep dive into Node.js, one of the most in-demand languages for back-end development. The course also covers topics such as building REST and GraphQL APIs, which are essential for modern back-end development.
Full-Stack Developer
Full-Stack Developers are responsible for both the front-end and back-end development of websites and web applications. This course is a great fit for those looking to enter this field by providing a comprehensive overview of Node.js, a popular language for both front-end and back-end development. The course also covers topics such as building REST and GraphQL APIs, which are essential for modern full-stack development.
Web Developer
Web Developers design and develop websites and web applications. This course can be a great fit for those looking to enter this field by providing a comprehensive overview of Node.js, a popular language for server-side development. The course also covers topics such as building REST and GraphQL APIs, which are essential for modern web development.
DevOps Engineer
DevOps Engineers are responsible for bridging the gap between development and operations teams. This course can be useful for those interested in this role by providing a foundation in Node.js, a popular language for both development and operations. The course also covers topics such as deploying a Node.js application, which is essential for DevOps Engineers.
Software Engineer
Software Engineers design, develop, and maintain software systems. This course can be useful for those interested in this role by providing a foundation in Node.js, a popular language for server-side development. The course also covers topics such as building REST and GraphQL APIs, which are essential for modern software development.
Database Administrator
Database Administrators are responsible for managing and maintaining databases. This course can be useful for those interested in this role by providing a foundation in Node.js, which is used for building data-intensive applications. The course also covers topics such as using Node.js with SQL and MongoDB, which are essential for database administration.
Cloud Architect
Cloud Architects design and manage cloud computing systems. This course can be useful for those interested in this role by providing a foundation in Node.js, a popular language for server-side development. The course also covers topics such as deploying a Node.js application, which is essential for Cloud Architects.
Data Analyst
Data Analysts collect, analyze, and interpret data to help businesses make informed decisions. This course can be useful for those interested in this role by providing a foundation in Node.js, which is used for building data-intensive applications, and by covering topics such as data pagination and handling payments with Stripe.js.
Systems Administrator
Systems Administrators maintain and troubleshoot computer systems and networks, ensuring that they run smoothly and efficiently. This course can help prepare for this role by providing a foundation in Node.js, a popular language for server-side development, and by covering topics such as deploying a Node.js application. These skills can be valuable for those looking to enter the field of systems administration.
Machine Learning Engineer
Machine Learning Engineers develop and implement machine learning models. This course may be helpful for those interested in this role by providing a foundation in Node.js, which is used for building machine learning applications. The course also covers topics such as data pagination and handling payments with Stripe.js, which are essential for Machine Learning Engineers.
Data Scientist
Data Scientists use data to solve business problems. This course may be helpful for those interested in this role by providing a foundation in Node.js, which is used for building data-intensive applications. The course also covers topics such as data pagination and handling payments with Stripe.js, which are essential for Data Scientists.
Network Engineer
Network Engineers design, implement, and maintain computer networks. This course may be helpful for those interested in this role by providing a foundation in Node.js, which is used for building network applications. The course also covers topics such as using Node.js with websockets, which is essential for Network Engineers.
Security Engineer
Security Engineers are responsible for protecting computer systems and networks from security threats. This course may be helpful for those interested in this role by providing a foundation in Node.js, which is used for building secure web applications. The course also covers topics such as user authentication and authorization, which are essential for Security Engineers.
Project Manager
Project Managers are responsible for planning and executing projects. This course may be helpful for those interested in this role by providing a foundation in Node.js, which is used for building web applications. The course also covers topics such as user authentication and authorization, which are essential for Project Managers.
Product Manager
Product Managers are responsible for managing the development and launch of products. This course may be helpful for those interested in this role by providing a foundation in Node.js, which is used for building web applications. The course also covers topics such as user authentication and authorization, which are essential for Product Managers.

Reading list

We've selected six books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in NodeJS - The Complete Guide (MVC, REST APIs, GraphQL, Deno).
Provides a comprehensive overview of Node.js, covering everything from the basics to advanced topics such as building REST APIs and working with databases. It's a great resource for anyone who wants to learn more about Node.js.
Comprehensive guide to Node.js. It covers everything from the basics of Node.js to advanced topics such as building REST APIs and working with databases.
Explores various design patterns that are commonly used in Node.js development. It's a valuable resource for anyone who wants to write clean, maintainable, and scalable Node.js code.
Provides a beginner-friendly introduction to Node.js, with a focus on hands-on examples and interactive exercises. It good choice for those who are new to Node.js and want to get started quickly.
Provides a concise guide to the best practices for writing Node.js code, including topics such as code organization, error handling, and testing.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to NodeJS - The Complete Guide (MVC, REST APIs, GraphQL, Deno).
GraphQL by Example
Most relevant
The Modern GraphQL Bootcamp (with Node.js and Apollo)
Most relevant
Exploring GraphQL: A Query Language for APIs
Building GraphQL APIs with ASP.NET Core 2
Consuming Data with GatsbyJS 2
Building Data-driven React 17 Applications with Relay,...
RESTful Web Services with Node.js and Express
Create an API using Express, GraphQL, and Mongoose
JavaScript REST APIs: Getting Started
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser