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!
NodeJS The Complete Guide MVC REST APIs GraphQL Deno
File Size :
16.73 GB
Total length :
40h 31m



Academind by Maximilian Schwarzmüller


Last update

Last updated 11/2022



NodeJS The Complete Guide MVC REST APIs GraphQL Deno

What you’ll learn

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

NodeJS The Complete Guide MVC REST APIs GraphQL Deno


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!


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 ModulesParsing Requests & Sending ResponsesRendering HTML Dynamically (on the Server)Using Express.jsWorking with Files and generating PDFs on the Server (on-the-fly)File Up- and DownloadUsing the Model-View-Controller (MVC) PatternUsing Node.js with SQL (MySQL) and SequelizeUsing Node.js with NoSQL (MongoDB) and MongooseWorking with Sessions & CookiesUser Authentication and AuthorizationSending E-MailsValidating User InputData PaginationHandling Payments with Stripe.jsBuilding REST APIsAuthentication in REST APIsFile Upload in REST APIsBuilding GraphQL APIsAuthentication in GraphQL APIsFile Upload in GraphQL APIsBuilding a Realtime Node.js App with WebsocketsAutomated Testing (Unit Tests)Deploying a Node.js ApplicationUsing TypeScript with Node.jsExploring Deno.jsAnd 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!PrerequisitesNO Node.js knowledge is required at all!NO other programming language knowledge (besides JavaScript, see next point) is requiredBasic 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 quicklyBasic HTML + CSS knowledge helps but is NOT required


Section 1: Introduction

Lecture 1 Introduction

Lecture 2 What is Node.js?

Lecture 3 Join our Online Learning Community

Lecture 4 Installing Node.js and Creating our First App

Lecture 5 Understanding the Role & Usage of Node.js

Lecture 6 Course Outline

Lecture 7 How To Get The Most Out Of The Course

Lecture 8 Working with the REPL vs Using Files

Lecture 9 Using the Attached Source Code

Section 2: Optional: JavaScript – A Quick Refresher

Lecture 10 Module Introduction

Lecture 11 JavaScript in a Nutshell

Lecture 12 Refreshing the Core Syntax

Lecture 13 let & const

Lecture 14 Understanding Arrow Functions

Lecture 15 Working with Objects, Properties & Methods

Lecture 16 Arrays & Array Methods

Lecture 17 Arrays, Objects & Reference Types

Lecture 18 Understanding Spread & Rest Operators

Lecture 19 Destructuring

Lecture 20 Async Code & Promises

Lecture 21 Template Literals

Lecture 22 Wrap Up

Lecture 23 Useful Resources & Links

Section 3: Understanding the Basics

Lecture 24 Module Introduction

Lecture 25 How The Web Works

Lecture 26 Creating a Node Server

Lecture 27 The Node Lifecycle & Event Loop

Lecture 28 Controlling the Node.js Process

Lecture 29 Understanding Requests

Lecture 30 Sending Responses

Lecture 31 Request & Response Headers

Lecture 32 Routing Requests

Lecture 33 Redirecting Requests

Lecture 34 Parsing Request Bodies

Lecture 35 Understanding Event Driven Code Execution

Lecture 36 Blocking and Non-Blocking Code

Lecture 37 Node.js – Looking Behind the Scenes

Lecture 38 Using the Node Modules System

Lecture 39 Wrap Up

Lecture 40 Useful Resources & Links

Section 4: Improved Development Workflow and Debugging

Lecture 41 Module Introduction

Lecture 42 Understanding NPM Scripts

Lecture 43 Installing 3rd Party Packages

Lecture 44 Global Features vs Core Modules vs Third-Party Modules

Lecture 45 Using Nodemon for Autorestarts

Lecture 46 Global & Local npm Packages

Lecture 47 Understanding different Error Types

Lecture 48 Finding & Fixing Syntax Errors

Lecture 49 Dealing with Runtime Errors

Lecture 50 Logical Errors

Lecture 51 Using the Debugger

Lecture 52 Restarting the Debugger Automatically After Editing our App

Lecture 53 Debugging Node.js in Visual Studio Code

Lecture 54 Changing Variables in the Debug Console

Lecture 55 Wrap Up

Lecture 56 Useful Resources & Links

Section 5: Working with Express.js

Lecture 57 Module Introduction

Lecture 58 What is Express.js?

Lecture 59 Installing Express.js

Lecture 60 Adding Middleware

Lecture 61 How Middleware Works

Lecture 62 Express.js – Looking Behind the Scenes

Lecture 63 Handling Different Routes

Lecture 64 Parsing Incoming Requests

Lecture 65 Limiting Middleware Execution to POST Requests

Lecture 66 Using Express Router

Lecture 67 Adding a 404 Error Page

Lecture 68 Filtering Paths

Lecture 69 Creating HTML Pages

Lecture 70 Serving HTML Pages

Lecture 71 Returning a 404 Page

Lecture 72 A Hint!

Lecture 73 Using a Helper Function for Navigation

Lecture 74 Styling our Pages

Lecture 75 Serving Files Statically

Lecture 76 Wrap Up

Lecture 77 Useful Resources & Links

Section 6: Working with Dynamic Content & Adding Templating Engines

Lecture 78 Module Introduction

Lecture 79 Sharing Data Across Requests & Users

Lecture 80 Templating Engines – An Overview

Lecture 81 Installing & Implementing Pug

Lecture 82 Outputting Dynamic Content

Lecture 83 Official Pug Docs

Lecture 84 Converting HTML Files to Pug

Lecture 85 Adding a Layout

Lecture 86 Finishing the Pug Template

Lecture 87 Avoiding an Error

Lecture 88 Working with Handlebars

Lecture 89 Converting our Project to Handlebars

Lecture 90 Adding the Layout to Handlebars

Lecture 91 Working with EJS

Lecture 92 Working on the Layout with Partials

Lecture 93 Wrap Up

Lecture 94 [OPTIONAL] Assignment Solution

Lecture 95 Useful Resources & Links

Section 7: The Model View Controller (MVC)

Lecture 96 Module Introduction

Lecture 97 What is the MVC?

Lecture 98 Adding Controllers

Lecture 99 Finishing the Controllers

Lecture 100 Adding a Product Model

Lecture 101 Storing Data in Files Via the Model

Lecture 102 Fetching Data from Files Via the Model

Lecture 103 Refactoring the File Storage Code

Lecture 104 Wrap Up

Lecture 105 Useful Resources & Links

Section 8: Optional: Enhancing the App

Lecture 106 Module Introduction

Lecture 107 Creating the Shop Structure

Lecture 108 Working on the Navigation

Lecture 109 Registering the Routes

Lecture 110 Storing Product Data

Lecture 111 Displaying Product Data

Lecture 112 Editing & Deleting Products

Lecture 113 Adding Another Item

Lecture 114 Useful Resources & Links

Section 9: Dynamic Routes & Advanced Models

Lecture 115 Module Introduction

Lecture 116 Preparations

Lecture 117 Applied Changes

Lecture 118 Adding the Product ID to the Path

Lecture 119 Extracting Dynamic Params

Lecture 120 Loading Product Detail Data

Lecture 121 Rendering the Product Detail View

Lecture 122 Passing Data with POST Requests

Lecture 123 Adding a Cart Model

Lecture 124 Using Query Params

Lecture 125 Pre-Populating the Edit Product Page with Data

Lecture 126 Linking to the Edit Page

Lecture 127 Editing the Product Data

Lecture 128 Adding the Product-Delete Functionality

Lecture 129 Deleting Cart Items

Lecture 130 Displaying Cart Items on the Cart Page

Lecture 131 Deleting Cart Items

Lecture 132 Fixing a Delete Product Bug

Lecture 133 Wrap Up

Lecture 134 Useful Resources & Links

Section 10: SQL Introduction

Lecture 135 Module Introduction

Lecture 136 Choosing a Database

Lecture 137 NoSQL Introduction

Lecture 138 Comparing SQL and NoSQL

Lecture 139 Setting Up MySQL

Lecture 140 Connecting our App to the SQL Database

Lecture 141 Basic SQL & Creating a Table

Lecture 142 Retrieving Data

Lecture 143 Fetching Products

Lecture 144 Fetching Products – Time to Practice

Lecture 145 Inserting Data Into the Database

Lecture 146 Fetching a Single Product with the “where” Condition

Lecture 147 Wrap Up

Lecture 148 Useful Resources & Links

Section 11: Understanding Sequelize

Lecture 149 Module Introduction

Lecture 150 What is Sequelize?

Lecture 151 Connecting to the Database

Lecture 152 Defining a Model

Lecture 153 Syncing JS Definitions to the Database

Lecture 154 Inserting Data & Creating a Product

Lecture 155 MUST READ: findById() in Sequelize 5

Lecture 156 Retrieving Data & Finding Products

Lecture 157 Getting a Single Product with the “where” Condition

Lecture 158 Fetching Admin Products

Lecture 159 Updating Products

Lecture 160 Deleting Products

Lecture 161 Creating a User Model

Lecture 162 Adding a One-To-Many Relationship

Lecture 163 Creating & Managing a Dummy User

Lecture 164 Using Magic Association Methods

Lecture 165 Fetching Related Products

Lecture 166 One-To-Many & Many-To-Many Relations

Lecture 167 Creating & Fetching a Cart

Lecture 168 Adding New Products to the Cart

Lecture 169 Adding Existing Products & Retrieving Cart Items

Lecture 170 Deleting Related Items & Deleting Cart Products

Lecture 171 Adding an Order Model

Lecture 172 Storing Cartitems as Orderitems

Lecture 173 Resetting the Cart & Fetching and Outputting Orders

Lecture 174 Wrap Up

Lecture 175 Useful Resources & Links

Section 12: Working with NoSQL & Using MongoDB

Lecture 176 Module Introduction

Lecture 177 What is MongoDB?

Lecture 178 Relations in NoSQL

Lecture 179 Setting Up MongoDB

Lecture 180 Installing the MongoDB Driver

Lecture 181 Creating the Database Connection

Lecture 182 Finishing the Database Connection

Lecture 183 Using the Database Connection

Lecture 184 Creating Products

Lecture 185 Understanding the MongoDB Compass

Lecture 186 Fetching All Products

Lecture 187 Fetching a Single Product

Lecture 188 Making the “Edit” & “Delete” Buttons Work Again

Lecture 189 Working on the Product Model to Edit our Product

Lecture 190 Finishing the “Update Product” Code

Lecture 191 One Note About Updating Products

Lecture 192 Deleting Products

Lecture 193 Fixing the “Add Product” Functionality

Lecture 194 Creating New Users

Lecture 195 Storing the User in our Database

Lecture 196 Working on Cart Items & Orders

Lecture 197 Adding the “Add to Cart” Functionality

Lecture 198 Storing Multiple Products in the Cart

Lecture 199 Displaying the Cart Items

Lecture 200 Fixing a Bug

Lecture 201 Deleting Cart Items

Lecture 202 Adding an Order

Lecture 203 Adding Relational Order Data

Lecture 204 Getting Orders

Lecture 205 Removing Deleted Items From the Cart

Lecture 206 Wrap Up

Lecture 207 Useful Resources & Links

Lecture 208 Two Adjustments (behind the scenes)

Section 13: Working with Mongoose

Lecture 209 Module Introduction

Lecture 210 What is Mongoose?

Lecture 211 Connecting to the MongoDB Server with Mongoose

Lecture 212 Creating the Product Schema

Lecture 213 Saving Data Through Mongoose

Lecture 214 Fetching All Products

Lecture 215 Fetching a Single Product

Lecture 216 Updating Products

Lecture 217 Deleting Products

Lecture 218 Adding and Using a User Model

Lecture 219 Using Relations in Mongoose

Lecture 220 One Important Thing About Fetching Relations

Lecture 221 Working on the Shopping Cart

Lecture 222 Loading the Cart

Lecture 223 Deleting Cart Items

Lecture 224 Creating & Getting Orders

Lecture 225 Storing All Order Related Data

Lecture 226 Clearing the Cart After Storing an Order

Lecture 227 Getting & Displaying the Orders

Lecture 228 Wrap Up

Lecture 229 Useful Resources & Links

Section 14: Sessions & Cookies

Lecture 230 Module Introduction

Lecture 231 What is a Cookie?

Lecture 232 The Current Project Status

Lecture 233 Optional: Creating the Login Form

Lecture 234 Adding the Request Driven Login Solution

Lecture 235 Setting a Cookie

Lecture 236 Manipulating Cookies

Lecture 237 Configuring Cookies

Lecture 238 What is a Session?

Lecture 239 Initializing the Session Middleware

Lecture 240 Using the Session Middleware

Lecture 241 Using MongoDB to Store Sessions

Lecture 242 Sessions & Cookies – A Short Summary

Lecture 243 Deleting a Cookie

Lecture 244 Fixing Some Minor Bugs

Lecture 245 Making “Add to Cart” Work Again

Lecture 246 Two Tiny Improvements

Lecture 247 Wrap Up

Lecture 248 Code Adjustments

Lecture 249 Useful Resources & Links

Section 15: Adding Authentication

Lecture 250 Module Introduction

Lecture 251 What is Authentication?

Lecture 252 How is Authentication Implemented?

Lecture 253 Our Updated Project Status

Lecture 254 Implementing an Authentication Flow

Lecture 255 Encrypting Passwords

Lecture 256 Adding a Tiny Code Improvement

Lecture 257 Adding the Signin Functionality

Lecture 258 Working on Route Protection

Lecture 259 Using Middleware to Protect Routes

Lecture 260 Understanding CSRF Attacks

Lecture 261 Using a CSRF Token

Lecture 262 Adding CSRF Protection

Lecture 263 csurf() Alternatives

Lecture 264 Fixing the Order Button

Lecture 265 Providing User Feedback

Lecture 266 Optional: Styling Error Messages

Lecture 267 Finishing the Flash Messages

Lecture 268 Adding Additional Flash Messages

Lecture 269 Wrap Up

Lecture 270 Useful Resources & Links

Section 16: Sending Emails

Lecture 271 Module Introduction

Lecture 272 How Does Sending Emails Work?

Lecture 273 Using SendGrid

Lecture 274 Using Nodemailer to Send an Email

Lecture 275 Potential Limitation for Large Scale Apps

Lecture 276 Useful Resources & Links

Section 17: Advanced Authentication

Lecture 277 Module Introduction

Lecture 278 Resetting Passwords

Lecture 279 Implementing the Token Logic

Lecture 280 Creating the Token

Lecture 281 Creating the Reset Password Form

Lecture 282 Adding Logic to Update the Password

Lecture 283 Why we Need Authorization

Lecture 284 Adding Authorization

Lecture 285 Adding Protection to Post Actions

Lecture 286 Why Editing Fails

Lecture 287 Wrap Up

Lecture 288 Useful Resources & Links

Section 18: Understanding Validation

Lecture 289 Module Introduction

Lecture 290 Why Should We Use Validation?

Lecture 291 How to Validate Input?

Lecture 292 Setup & Basic Validation

Lecture 293 Using Validation Error Messages

Lecture 294 Built-In & Custom Validators

Lecture 295 More Validators

Lecture 296 Checking For Field Equality

Lecture 297 Adding Async Validation

Lecture 298 Keeping User Input

Lecture 299 Adding Conditional CSS Classes

Lecture 300 Adding Validation to Login

Lecture 301 Sanitizing Data

Lecture 302 Validating Product Addition

Lecture 303 Validating Product Editing

Lecture 304 Wrap Up

Lecture 305 Useful Resources & Links

Section 19: Error Handling

Lecture 306 Module Introduction

Lecture 307 Types of Errors & Error Handling

Lecture 308 Analyzing the Error Handling in the Current Project

Lecture 309 Errors – Some Theory

Lecture 310 Throwing Errors in Code

Lecture 311 Returning Error Pages

Lecture 312 Using the Express.js Error Handling Middleware

Lecture 313 Updating the App

Lecture 314 Using the Error Handling Middleware Correctly

Lecture 315 Status Codes

Lecture 316 Available Status Codes

Lecture 317 Wrap Up

Lecture 318 Useful Resources & Links

Section 20: File Upload & Download

Lecture 319 Module Introduction

Lecture 320 Adding a File Picker to the Frontend

Lecture 321 Handling Multipart Form Data

Lecture 322 Handling File Uploads with Multer

Lecture 323 Configuring Multer to Adjust Filename & Filepath

Lecture 324 Filtering Files by Mimetype

Lecture 325 Storing File Data in the Database

Lecture 326 Remove imageUrl from “Add Product”

Lecture 327 Serving Images Statically

Lecture 328 Downloading Files with Authentication

Lecture 329 Setting File Type Headers

Lecture 330 Restricting File Access

Lecture 331 Streaming Data vs Preloading Data

Lecture 332 Using PDFKit for .pdf Generation

Lecture 333 Generating .pdf Files with Order Data

Lecture 334 Deleting Files

Lecture 335 Fixing Invoice Links

Lecture 336 Wrap Up

Lecture 337 Useful Resources & Links

Section 21: Adding Pagination

Lecture 338 Module Introduction

Lecture 339 Adding Pagination Links

Lecture 340 Retrieving a Chunk of Data

Lecture 341 Skip & Limit with SQL

Lecture 342 Preparing Pagination Data on the Server

Lecture 343 Adding Dynamic Pagination Buttons

Lecture 344 Re-Using the Pagination Logic & Controls

Lecture 345 Wrap Up

Lecture 346 Useful Resources & Links

Section 22: Understanding Async Requests

Lecture 347 Module Introduction

Lecture 348 What are Async Requests?

Lecture 349 Adding Client Side JS Code

Lecture 350 The JSON Data Format

Lecture 351 Sending & Handling Background Requests

Lecture 352 Manipulating the DOM

Lecture 353 Useful Resources & Links

Section 23: Adding Payments

Lecture 354 Module Introduction

Lecture 355 How Payments Work

Lecture 356 Adding a Checkout Page

Lecture 357 Using Stripe in Your App

Lecture 358 Useful Resources & Links

Section 24: Working with REST APIs – The Basics

Lecture 359 Module Introduction

Lecture 360 What are REST APIs and why do we use Them?

Lecture 361 Accessing Data with REST APIs

Lecture 362 Understanding Routing & HTTP Methods

Lecture 363 REST APIs – The Core Principles

Lecture 364 Creating our REST API Project & Implementing the Route Setup

Lecture 365 Sending Requests & Responses and Working with Postman

Lecture 366 REST APIs, Clients & CORS Errors

Lecture 367 Sending POST Requests

Lecture 368 Wrap Up

Lecture 369 Useful Resources & Links

Section 25: Working with REST APIs – The Practical Application

Lecture 370 Module Introduction

Lecture 371 REST APIs & The Rest Of The Course

Lecture 372 Understanding the Frontend Setup

Lecture 373 Planning the API

Lecture 374 Fetching Lists of Posts

Lecture 375 Adding a Create Post Endpoint

Lecture 376 Adding Server Side Validation

Lecture 377 Setting Up a Post Model

Lecture 378 Storing Posts in the Database

Lecture 379 Static Images & Error Handling

Lecture 380 Fetching a Single Post

Lecture 381 Image Names & Windows

Lecture 382 Uploading Images

Lecture 383 Updating Posts

Lecture 384 Deleting Posts

Lecture 385 Adding Pagination

Lecture 386 Adding a User Model

Lecture 387 Adding User Signup Validation

Lecture 388 Signing Users Up

Lecture 389 How Does Authentication Work?

Lecture 390 Starting with User Login

Lecture 391 Logging In & Creating JSON Web Tokens (JWTs)

Lecture 392 Using & Validating the Token

Lecture 393 Adding Auth Middleware to All Routes

Lecture 394 Connecting Posts & Users

Lecture 395 Adding Authorization Checks

Lecture 396 Clearing Post-User Relations

Lecture 397 Wrap Up

Lecture 398 Useful Resources & Links

Section 26: Understanding Async Await in Node.js

Lecture 399 Module Introduction

Lecture 400 What is Async Await All About?

Lecture 401 Transforming “Then Catch” to “Async Await”

Lecture 402 Top-level “await”

Lecture 403 The User Name is Missing!

Lecture 404 Wrap Up

Lecture 405 Useful Resources & Links

Section 27: Understanding Websockets &

Lecture 406 Module Introduction

Lecture 407 What Are Websockets & Why Would You Use Them?

Lecture 408 Websocket Solutions – An Overview

Lecture 409 Setting Up on the Server

Lecture 410 Establishing a Connection From the Client

Lecture 411 Identifying Realtime Potential

Lecture 412 Sharing the IO Instance Across Files

Lecture 413 Synchronizing POST Additions

Lecture 414 Fixing a Bug – The Missing Username

Lecture 415 Updating Posts On All Connected Clients

Lecture 416 Sorting Correctly

Lecture 417 Deleting Posts Across Clients

Lecture 418 Wrap Up

Lecture 419 Useful Resources & Links

Section 28: Working with GraphQL

Lecture 420 Module Introduction

Lecture 421 What is GraphQL?

Lecture 422 Understanding the Setup & Writing our First Query

Lecture 423 Defining a Mutation Schema

Lecture 424 Adding a Mutation Resolver & GraphiQL

Lecture 425 Adding Input Validation

Lecture 426 Handling Errors

Lecture 427 Connecting the Frontend to the GraphQL API

Lecture 428 Adding a Login Query & a Resolver

Lecture 429 Adding Login Functionality

Lecture 430 Adding a Create Post Mutation

Lecture 431 Extracting User Data From the Auth Token

Lecture 432 Sending the “Create Post” Query

Lecture 433 Fixing a Bug & Adding New Posts Correctly

Lecture 434 Adding a “Get Post” Query & Resolver

Lecture 435 Sending “Create Post” and “Get Post” Queries

Lecture 436 Adding Pagination

Lecture 437 Uploading Images

Lecture 438 Fetching the imageUrl

Lecture 439 Viewing a Single Post

Lecture 440 Updating Posts

Lecture 441 Deleting Posts

Lecture 442 Adding Posts & Pagination

Lecture 443 Managing the User Status

Lecture 444 Using Variables

Lecture 445 Fixing a Pagination Bug

Lecture 446 Wrap Up

Lecture 447 Useful Resources & Links

Section 29: Deploying our App

Lecture 448 Module Introduction

Lecture 449 Deploying Different Kinds of Apps

Lecture 450 Deployment Preparations

Lecture 451 Using Environment Variables

Lecture 452 Using Production API Keys

Lecture 453 Setting Secure Response Headers with Helmet

Lecture 454 Compressing Assets

Lecture 455 Setting Up Request Logging

Lecture 456 More on Logging

Lecture 457 Setting Up a SSL Server

Lecture 458 Using a Hosting Provider

Lecture 459 Understanding the Project & the Git Setup

Lecture 460 A Deployment Example with Heroku

Lecture 461 Storing User-generated Files on Heroku

Lecture 462 Deploying APIs

Lecture 463 Useful Resources & Links

Section 30: Testing Node.js Applications

Lecture 464 Module Introduction

Lecture 465 What is Testing?

Lecture 466 Why & How?

Lecture 467 Setup and Writing a First Test

Lecture 468 Testing the Auth Middleware

Lecture 469 Organizing Multiple Tests

Lecture 470 What Not To Test!

Lecture 471 Using Stubs

Lecture 472 Testing Controllers

Lecture 473 Testing Asynchronous Code

Lecture 474 Setting up a Testing Database

Lecture 475 Testing Code With An Active Database

Lecture 476 Cleaning Up

Lecture 477 Hooks

Lecture 478 Testing Code That Requires Authentication

Lecture 479 Wrap Up & Mastering Tests

Lecture 480 Useful Resources & Links

Section 31: Node.js as a Build Tool & Using npm

Lecture 481 Module Introduction

Lecture 482 npm & Node.js

Lecture 483 Using npm

Lecture 484 Versioning in package.json

Lecture 485 What is a Build Tool?

Lecture 486 Using Node.js in Build Processes

Lecture 487 Useful Resources & Links

Section 32: Modern JavaScript & NodeJS

Lecture 488 Module Introduction

Lecture 489 What is this Module About?

Lecture 490 Working with ES Modules & Node

Lecture 491 More on ES Modules

Lecture 492 Node Core Modules & Promises

Lecture 493 Module Resources

Section 33: NodeJS & TypeScript

Lecture 494 Module Introduction

Lecture 495 TypeScript: What & Why?

Lecture 496 TypeScript Setup

Lecture 497 Assigning Types

Lecture 498 Type Inference & Type Casting

Lecture 499 Configuring TypeScript

Lecture 500 Working with Union Types

Lecture 501 Using Object & Array Types

Lecture 502 Working with Type Aliases & Interfaces

Lecture 503 Understanding Generics

Lecture 504 A First Summary

Lecture 505 Node & TypeScript: Setup

Lecture 506 Getting Started with Node and TypeScript

Lecture 507 Writing TypeScript Express.js Code

Lecture 508 Adding REST Routes with TypeScript

Lecture 509 Finishing the REST Routes

Lecture 510 Testing the API

Lecture 511 Using Type Casting

Lecture 512 Moving to a Better Project Structure

Lecture 513 Wrap Up

Lecture 514 Module Resources

Section 34: An Introduction to Deno

Lecture 515 Module Introduction

Lecture 516 What is Deno?

Lecture 517 Why Deno?

Lecture 518 Deno Setup

Lecture 519 Writing First Deno Code

Lecture 520 The Deno Runtime (Namespace) API

Lecture 521 Using the Runtime API

Lecture 522 Working with Deno Permissions

Lecture 523 Repeating the Example with Node

Lecture 524 How Deno Features Are Organized

Lecture 525 Using the Standard Library

Lecture 526 Creating a Webserver

Lecture 527 Using the Oak Framework with Deno

Lecture 528 More on Module URLs

Lecture 529 An Example Node REST API

Lecture 530 Re-building the REST API with Deno

Lecture 531 Should You Switch From Node to Deno?

Lecture 532 Module Resources

Section 35: Deno, CRUD & Databases (MongoDB)

Lecture 533 Module Introduction

Lecture 534 App Setup

Lecture 535 Handling CORS Errors

Lecture 536 Connecting Deno to MongoDB

Lecture 537 Using the MongoDB Client Module

Lecture 538 Finishing the Deno MongoDB CRUD Operations

Lecture 539 Wrap Up

Lecture 540 Module Resources

Section 36: Roundup

Lecture 541 Course Roundup

Lecture 542 Course Slides

Lecture 543 Bonus: More Content!

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

Course Information:

Udemy | English | 40h 31m | 16.73 GB
Created by: Academind by Maximilian Schwarzmüller

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top