Autoplay
Autocomplete
Previous Lesson
Complete and Continue
NodeJS - The Complete Guide (MVC, REST APIs, GraphQL, Deno)
Getting Started
Introduction (1:55)
What is Node.js? (4:42)
Installing Node.js and Creating our First App (7:41)
Join our Online Learning Community
Understanding the Role & Usage of Node.js (7:32)
Course Outline (7:31)
How To Get The Most Out Of The Course (3:54)
Working with the REPL vs Using FIles (2:58)
Using the Attached Source Code
The Academind Pro Referral Program
Optional: JavaScript - A Quick Refresher
Module Introduction (1:36)
JavaScript in a Nutshell (2:35)
Refreshing the Core Syntax (4:34)
let & const (2:27)
Understanding Arrow Functions (5:17)
Working with Objects, Properties & Methods (3:19)
Arrays & Array Methods (4:16)
Arrays, Objects & Reference Types (2:13)
Understanding Spread & Rest Operators (6:40)
Destructuring (5:37)
Async Code & Promises (10:28)
Template Literals
Wrap Up (0:50)
Useful Resources & Links
Understanding the Basics
Module Introduction (1:50)
How The Web Works (4:11)
Creating a Node Server (13:22)
The Node Lifecycle & Event Loop (4:53)
Understanding Requests (3:10)
Sending Responses (5:37)
Controlling the Node.js Process
Routing Requests (5:48)
Redirecting Requests (4:10)
Parsing Request Bodies (11:12)
Understanding Event Driven Code Execution (6:00)
Blocking and Non-Blocking Code (5:04)
Node.js - Looking Behind the Scenes (12:01)
Using the Node Modules System (10:05)
Wrap Up (5:15)
Assignment - Basics (Problem) (2:32)
Assignment - Basics (Solution) (11:32)
Useful Resources & Links
Improved Development Workflow and Debugging
Module Introduction (0:40)
Understanding NPM Scripts (7:03)
Installing 3rd Party Packages (8:20)
Global Features vs Core Modules vs Third-Party Modules
Using Nodemon for Autorestarts (1:36)
Global & Local npmPackages
Understanding different Error Types (1:49)
Finding & Fixing Syntax Errors (3:10)
Dealing with Runtime Errors (2:47)
Logical Errors (6:32)
Using the Debugger (3:10)
Restarting the Debugger Automatically After Editing our App (6:21)
Changing Variables in the Debug Console (1:26)
Wrap Up (3:14)
Useful Resources & Links
Working with Express.js
Module Introduction (2:15)
What is Express.js? (3:43)
Installing Express.js (3:47)
Adding Middleware (5:13)
How Middleware Works (2:58)
Express.js - Looking Behind the Scenes (3:42)
Handling Different Routes (4:59)
Assignment - Express.js (Problem) (1:52)
Assignment - Express.js (Solution) (6:21)
Parsing Incoming Requests (8:00)
Limiting Middleware Execution to POST Requests (1:48)
Using Express Router (8:04)
Adding a 404 Error Page (2:30)
Filtering Paths (3:38)
Creating HTML Pages (5:09)
Serving HTML Pages (7:19)
Returning a 404 Page (2:00)
Using a Helper Function for Navigation (3:37)
Styling our Pages (13:58)
Serving Files Statically (7:49)
Assignment - Navigation (Problem) (1:11)
Assignment - Navigation (Solution) (8:32)
Wrap Up (3:36)
Useful Resources & Links
Working with Dynamic Content & Adding Templating Engines
Module Introduction (2:31)
Sharing Data Across Requests & Users (8:05)
Templating Engines - An Overview (4:40)
Installing & Implementing Pug (11:04)
Outputting Dynamic Content (11:02)
Converting HTML Files to Pug (5:55)
Adding a Layout (5:35)
Finishing the Pug Template (5:50)
Working with Handlebars (5:08)
Converting our Project to Handlebars (7:41)
Adding the Layout to Handlebars (8:41)
Working with EJS (8:19)
Working on the Layout with Partials (9:33)
Wrap Up (3:46)
Assignment - Templating Engines (Problem) (1:36)
Assignment - Templating Engines (Solution) (25:02)
Useful Resources & Links
The Model View Controller (MVC)
Module Introduction (0:52)
What is the MVC? (2:48)
Adding Controllers (9:20)
Finishing the Controllers (2:37)
Adding a Product Model (8:05)
Storing Data in Files Via the Model (9:39)
Fetching Data from Files Via the Model (3:55)
Refactoring the File Storage Code (4:25)
Wrap Up (2:15)
Useful Resources & Links
Optional: Enhancing the App
Module Introduction (1:21)
Creating the Shop Structure (5:34)
Working on the Navigation (2:49)
Registering the Routes (11:04)
Storing Product Data (5:15)
Displaying Product Data (3:02)
Editing & Deleting Products (4:47)
Adding Another Item (2:08)
Useful Resources & Links
Dynamic Routes & Advanced Models
Module Introduction (1:07)
Preparations (1:23)
Adding the Product ID to the Path (4:34)
Extracting Dynamic Params (4:32)
Loading Product Detail Data (4:52)
Rendering the Product Detail View (5:26)
Passing Data with POST Requests (7:19)
Adding a Cart Model (12:29)
Using Query Params (7:54)
Pre-Populating the Edit Product Page with Data (6:46)
Linking to the Edit Page (2:20)
Editing the Product Data (8:58)
Adding the Product-Delete Functionality (5:34)
Deleting Cart Items (8:11)