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
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 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
Overview
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 & Socket.io
Lecture 406 Module Introduction
Lecture 407 What Are Websockets & Why Would You Use Them?
Lecture 408 Websocket Solutions – An Overview
Lecture 409 Setting Up Socket.io 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 CourseDown.com