ZeroToMastery – Complete Node.js Developer in 2021: Zero to Mastery


Complete Node.js Developer in 2021: Zero to Mastery is a node.js training course; This is the only course you will need to learn ninety and build large-scale applications from scratch and work as a backend developer.

What you will learn in Complete Node.js Developer in 2021: Zero to Mastery:

  • Build business plans and develop them online
  • Build secure, high-performance applications like a Senior developer
  • Lead Node JS projects with the best architectural choices and help others in your team
  • Use Node.js to build product grade applications including REST APIs and GraphQL APIs
  • Work with real data and use the SpaceX API to build a NASA launch system to discover new planets on which life may be flowing. : /
  • You need to know user authentication, Sockets, database work (SQL, MongoDB), Express Framework and other important topics that are backed up as a developer.
  • Build a full stack MERN program (including MongoDb, Express, React, Node) and publish it
  • Learn the best ways to secure your application

Course details:

Publisher: zerotomastery
Instructors: Adam Odziemkowski and Andrei Neagoie
Language: English
Level: Introductory to Advanced
Number of Courses: 367
Duration: 45 hours and 57 minutes

Course Titles Complete Node.js Developer in 2021: Zero to Mastery:

Introduction

Complete Node.js Developer: Zero to Mastery (2:50)
Course Outline (6:22)
Join Our Online Classroom!
Exercise: Meet The Community
Node.js – How We Got Here (9:19)
Node.js Runtime (8:19)
How To Succeed In The Course (3:59)
Latest Version Of Node.js (1:16)
Course Projects + Code

Node.js Fundamentals: Foundations and Environment Setup

OPTIONAL: Installing Node.js (6:33)
OPTIONAL: Windows Installation Tips (3:05)
Node.js Release Cycle (4:04)
The Node.js REPL (6:08)
Setting Up Our Developer Environment (4:30)
Our First Node App (11:35)
Node.js VS JavaScript (5:45)
The global Object (5:45)
Introduction to Backend VS Frontend (8:55)
Monthly Coding Challenges, Free Resources and Guides

Node.js Fundamentals: Internals

What Node.js Includes (9:38)
Node Internals Deep Dive (10:57)
libuv Internals Deep Dive (12:53)
Synchronous vs Asynchronous (5:23)
Asynchronous Callbacks (5:55)
Non-Blocking Input & Output (3:32)
Exercise: Is JavaScript Asynchronous? (2:27)
Multi-Threading, Processes, and Threads (11:40)
Is Node.js Multi-Threaded? (10:56)
The Event Loop (4:03)
Callback Queues (4:51)
Phases of the Event Loop (9:18)
Comparing Node With PHP and Python (6:33)
What Is Node.js Best At? (4:52)
Observer Design Pattern (5:27)
The Node Event Emitter (14:06)
Recommended Path: Asynchronous JavaScript

Node.js Fundamentals: Module System

The require Function (2:49)
Making HTTP Requests (11:09)
Why Use Modules? (4:05)
Creating Our Own Modules (13:02)
Exporting From Modules (4:03)
CommonJS vs ECMAScript Modules (4:11)
Creating Our Own ECMAScript Modules (6:31)
Module Caching (7:42)
Using index.js (8:40)
Should We Use index.js? (4:42)

Node.js Fundamentals: Package Management

NPM: The Node Package Manager (4:39)
Creating Our First NPM Package (9:23)
Packages And The NPM Registry (1:56)
Using Third Party Modules (11:11)
The node_modules Folder (9:54)
Semantic Versioning (2:37)
package-lock.json and Versioning (9:42)
Vulnerabilities In Dependencies (4:54)
Installing NPM Tools: nodemon (9:56)

Node.js File I/O – Planets Project

Code For This Section
Exploring Planets With Node (1:49)
Importing Kepler Space Telescope Data (4:52)
Setting Up Our CSV Parser (5:24)
Streaming Large Data Files (5:32)
Reading Our Planets Data (6:48)
Parsing Our Planets Data (6:04)
Finding Habitable Planets (8:26)
Exploring Habitable Planets (7:18)

Web Servers with Node.js

What is a Web Server? (5:24)
Introduction to HTTP Responses and Requests (3:57)
HTTP Requests (7:41)
HTTP Responses (13:36)
Our First Webserver (10:12)
HTTP APIs and Routing (9:00)
Parameterized URLs (10:37)
Same Origin Policy (9:23)
Exercise: Same Origin Policy
Cross Origin Resource Sharing (CORS) (10:29)
POSTing Data to the Server (11:31)
Requests and Responses as Streams (11:50)
Web Servers Recap (4:05)

First Express.js API

Why Express? (3:35)
Introduction to Express (9:36)
Express vs Next.js vs Koa (11:18)
Route Parameters (9:04)
Postman and Insomnia (6:07)
Development Dependencies (3:49)
Middleware (7:30)
Writing Our Own Logging Middleware (10:25)
POST Requests in Express (16:21)
Model View Controller (MVC) (7:38)
Model View Controller in Express (18:30)
Express Routers (16:38)
RESTful APIs (11:39)
Create Read Update and Delete (CRUD) (6:56)
Sending Files (6:06)
Serving Websites With Node (9:45)
Templating Engines (11:33)
Layouts and Separation of Concerns (7:43)

NASA Project

Introduction & Architecture (11:02)
NASA Dashboard Front End Setup (5:47)
NASA Dashboard Functionality (5:11)
What You Need To Know (2:14)
React.js Front End Code Walkthrough (18:10)
API Server Setup (12:32)
Environment Variables On Windows
GET /planets (15:32)
CORS Middleware (7:22)
Models vs Controllers vs Routers (4:41)
The Planets Model (5:30)
Loading Data On Startup (15:40)
Automating Full Stack Applications With NPM (13:44)
Common Issues With NPM Scripts
Serving React.js Front End In Production (12:15)
Setting BUILD_PATH On Windows
Logging Requests With Morgan (8:44)

The Launches Model (12:56)
GET /launches (16:56)
Serving Applications With Client Side Routing (5:58)
Working With Data Models: Building a Data Access Layer (8:49)
POST /launches: Creating Launches 1 (13:15)
POST /launches: Creating Launches 2 (10:41)
POST /launches: Validation For POST Requests (12:39)
Connecting POST /launches With Front End Dashboard (13:39)
DELETE /launches: Aborting a Launch 1 (13:05)
DELETE /launches: Aborting a Launch 2 (12:00)
Updating Our Architecture Diagram (11:42)

Testing APIs

Testing In Node (3:26)
Testing APIs With Jest (14:21)
Testing API Endpoints With Supertest: GET (8:03)
Testing API Endpoints With Supertest: POST (9:09)
Testing API Endpoints With Supertest: Error Cases (6:48)

Improving Node Performance

Node Server Performance (4:15)
Building A Simple Blocking Server (10:20)
Real Life Blocking Functions (8:47)
Running Multiple Node Processes (3:18)
The Node Cluster Module (4:17)
Clustering In Action (12:27)
Maximizing Cluster Performance (7:40)
Load Balancing (5:36)
The PM2 Tool (2:26)
Using PM2 To Create Clusters (9:38)
Managing Live Clusters With PM2 (6:10)
Zero Downtime Restart (3:46)
Improving Performance Of Our NASA Project (8:06)
Worker Threads (8:21)
Worker Threads In Action (8:15)

Databases

Introduction to Databases (3:46)
Recommended Path: SQL
Comparing SQL vs NoSQL (8:10)
Database Schemas & Schemaless Databases (3:45)
Choosing a Database for our NASA Project (5:32)
SQL vs MongoDB: Trends and Object-Relational Impedance Mismatch (8:18)
SQL vs MongoDB: Schemas, References, and ACID Transactions (14:19)
Setting up MongoDB Atlas (12:55)
Connecting to MongoDB (8:54)
Mongoose (5:24)
Creating Mongoose Schema for Launches (15:18)
Exercise: Creating Mongoose Schema for Planets (5:29)

Creating Models From Schemas (4:30)
Mongoose Models vs MVC Models (4:15)
Inserting And Updating Documents (8:09)
Finding Documents (6:48)
The Upsert Operation (8:20)
Exploring Data Using Atlas (4:52)
Updating Project Architecture (5:09)
ObjectIDs (3:51)
Excluding Fields From The Response (3:30)
Saving Launches (4:51)
Listing All Launches (2:57)
Referential Integrity (10:56)
Auto Increment In MongoDB (7:28)
Getting Latest Flight Number (5:58)
Scheduling New Launches (9:00)
Investigating A Mongoose Mystery (7:10)
Aborting Launches (12:54)
Updating Tests For Mongoose 1 (15:02)
Updating Tests For Mongoose 2 (10:00)

Working With REST APIs – SpaceX Project

Working With SpaceX (2:47)
The SpaceX API (3:22)
Versioning Node APIs (9:09)
Updating Our API Tests (1:00)
Exploring SpaceX Launches API (5:39)
Running Search Queries (13:04)
Loading SpaceX Data In Our API (14:51)
Mapping SpaceX Data To Our Database (11:56)
Using Paginated APIs (7:59)
Minimizing API Load (8:18)
Persisting SpaceX Launches (6:40)
Paginating Our Endpoints 1 (7:57)
Paginating Our Endpoints 2 (15:27)
Sorting Paginated Data (3:48)
Cleaning Up Launch Data (3:33)
Managing Secrets With Dotenv (9:04)
Securing Leaked Secrets (5:09)

Node Security + Authentication

Security and Authentication Overview (3:43)
Encrypted Connections with SSL and TLS (6:28)
Digital Certificates, Signing, and Man In The Middle Attacks (5:42)
Setting Up Our Security Example (4:18)
HTTPS With Node, Self Signed Certificates, and Public Key Cryptography (16:17)
Helmet.js (9:46)
Authentication vs Authorization (7:28)
Social Sign In (5:11)
API Keys (11:03)
JWT Tokens (14:32)
The OAuth Standard (5:40)
OAuth 2.0 Authorization Code Flow (6:34)
OAuth In Action with Single Sign On (15:15)
Registering with the Google Authorization Server (14:11)

Authentication Endpoints With Middleware (11:07)
Passport.js (3:24)
Dotenv for Client Secrets (8:23)
Authentication With Google And OAuth 1 (11:11)
Authentication With Google And OAuth 2 (11:45)
Cookie Based Authentication (6:54)
Sessions (3:33)
Server VS Client Side Sessions With Cookies (9:04)
Session Middleware in Express (9:50)
Setting Up OAuth Cookie Session (12:34)
Reading and Writing the OAuth Session 1 (13:02)
Reading and Writing the OAuth Session 2 (6:44)
Restricting Access to Endpoints (7:53)
Implementing Logout (7:12)
Experimenting With Fake Sessions (5:11)
Wrap Up and Next Steps (5:54)
Resource: Security Cheat Sheet

Continuous Integration and Delivery

Introduction to CI and CD (6:41)
Continuous Integration (8:23)
Continuous Delivery (9:37)
Continuous Deployment (6:00)
Pipelines (4:26)
GitHub Actions (9:42)
Setting Up GitHub Actions (5:36)
Continuous Integration: Build Pipeline (12:02)
Build Pipeline In Action (8:37)
GitHub Actions Marketplace (3:07)
Continuous Integration: Test Pipeline (11:20)
Mocking Out Databases (5:18)
Databases With Continuous Integration (10:18)
Populating Data For Continuous Integration (8:50)

Node Production and the Cloud (Docker + AWS)

Deploying to the Cloud (2:14)
Serverless vs Containers (3:58)
Virtual Machines (4:16)
What is a Container? (4:59)
Installing Docker (3:28)
Running Our first Docker Container (5:38)
Your DockerHub Account (1:39)
Creating a Dockerfile (14:02)
Improving Our Dockerfile With Layers (13:22)
Updating Our API URL (2:16)
Building NASA Project Docker Image (5:36)
Running NASA Project in a Container (4:29)
Pushing Images to Docker Hub (3:46)
Exploring Amazon Web Services (6:28)
Creating an EC2 Instance 1 (7:50)
Creating an EC2 Instance 2: Security (13:10)
What is SSH? (2:58)
Connecting To Our EC2 Instance With SSH (7:48)
Setting Up Our EC2 Server (5:45)
Deploying Our NASA API (10:38)

GraphQL

GraphQL Overview (8:03)
Our First GraphQL Query (8:15)
GraphQL Queries In Action (5:47)
GraphQL vs REST: Over-fetching & Under-fetching (10:52)
GraphQL vs REST Summary (10:08)
Exploring GraphQL Implementations (3:24)
GraphQL In Node (11:01)
GraphiQL (4:25)
Designing An E-Commerce Schema (16:01)
GraphQL Tools (3:39)
Modularizing Large GraphQL Projects: Schemas (14:01)
Resolvers (9:01)
Modularizing Large GraphQL Projects: Resolvers (9:27)
Filtering with Queries and Resolvers (10:20)
Exercise: Query Products By ID (5:30)
Mutations In Action (6:40)
Implementing Mutations on the Server (10:10)
Exercise: Add New Product Review (10:58)
GraphQL With Apollo (7:15)
Building an Apollo Server With Node.js (13:19)

Sockets with Node.js

Code For This Section
Introduction to Sockets (2:11)
Polling (3:57)
What is a Socket? (2:58)
Sockets VS Polling (5:01)
WebSockets (5:25)
Introduction to socket.io (3:20)
socket.io Client and Server APIs (8:43)
Multiplayer Pong Overview (3:31)
Recommended Path: Pong Front End
Reviewing Our Pong Front End (11:57)
Multiplayer Pong Message Sequence (7:38)
Setting Up a socket.io Server (4:29)
Connecting to socket.io (4:03)
Handling CORS With Sockets
Identifying Connected Clients (6:38)
Listening for Events in the Pong Server (3:08)
Broadcasting Events (2:46)
Handling Events in the Pong Client (7:15)
Implementing the Game Logic: Paddle (9:20)
Implementing the Game Logic: Ball (8:46)
What Happens When You Disconnect? (5:23)
Using Socket.io with Express (11:45)
Namespaces (6:05)
Rooms (10:39)

Where To Go From Here?

Become An Alumni
Learning Guideline
LinkedIn Endorsements
Coding Challenges

Bonus: Deno vs Node.js

Quick Note: Upcoming Videos
Why Deno? (6:00)
Deno Runtime And V8 Engine (5:25)
Deno Installation (4:41)
Quick Note: Installing Deno
MAC/LINUX Installation Tips (5:33)
WINDOWS Installation Tips (1:17)
Setting Up Our Developer Environment (5:15)
Quick Note: Official VS Code Plugin
Our First Deno App (8:18)
Exercise: Our First Deno App
The Most Important Video (0:59)
Deno Internals And Architecture (12:39)
Deno Metrics (6:50)
Exercise: Deno Architecture (4:01)
Deno 1.5 Compiler Update
Deno Game Changers (9:58)
Deno Game Changers 2 (7:56)
Will Deno Kill NodeJS? (2:08)
Single Executable To Rule Them All (4:08)
Exciting Times: Deno 1.6
Deno Security (8:09)
Deno Permissions (6:24)
Deno Permissions 2 (3:09)
Deno Permissions 3 (5:10)

Appendix: How JavaScript Works

Quick Note: Upcoming Videos
JavaScript Engine (5:28)
Exercise: Javascript Engine (0:56)
Inside the Engine (4:05)
Exercise: JS Engine For All (2:33)
Interpreters and Compilers (6:21)
Inside the V8 Engine (8:56)
Comparing Other Languages (4:15)
Writing Optimized Code (8:53)
WebAssembly (3:15)
Call Stack and Memory Heap (14:37)
Stack Overflow (3:21)
Garbage Collection (4:30)
Memory Leaks (6:34)
Single Threaded (1:58)
Exercise: Issue With Single Thread (2:40)
Javascript Runtime (14:07)
Node.js (6:27)
Recommended Path: Back To Node

Appendix: Asynchronous JavaScript

Quick Note: Upcoming Videos
Section Overview (4:51)
Promises (22:26)
ES8 – Async Await (15:22)
ES9 (ES2018) (5:21)
ES9 (ES2018) – Async (11:11)
Job Queue (6:55)
Parallel, Sequence and Race (10:00)
ES2020: allSettled() (4:22)
Threads, Concurrency and Parallelism (11:27)
Recommended Path: Back To Node

Appendix: Pong Front End

Quick Note: Upcoming Videos
Pong Project Overview (2:03)
JS – Create Canvas (15:50)
JS – RequestAnimationFrame (17:44)
JS – Game Over (13:14)
Code Review (5:17)
Recommended Path: Back to Sockets

Appendix: TypeScript

Quick Note: Upcoming Videos
Introduction To TypeScript (1:27)
Dynamic vs Static Typing (11:50)
Strongly vs Weakly Typed (3:18)
Static Typing In JavaScript (9:45)
Quick Note: Upcoming Videos
OPTIONAL: Installing TypeScript Compiler (3:50)
OPTIONAL: Installing Node.js + TypeScript
TypeScript (11:33)
TypeScript 2 (3:16)
TypeScript 3 (7:24)
Resources: TypeScript Types
TypeScript 4 (5:38)
TypeScript 5 (6:39)
TypeScript 6 (4:48)
Resources: Type VS Interface
TypeScript 7 (3:34)
Resources: Type Assertion
TypeScript 8 (6:04)
TypeScript 9 (1:21)
TypeScript 10 (1:23)

Appendix: SQL

Quick Note: Upcoming Videos
Exercise: Building Amazon (5:34)
Exercise: Building Amazon 2 (5:28)
5 Types Of Databases (5:37)
Exercise: What Is A Database? (1:11)
SQL Playground (1:54)
What Is SQL? (2:17)
What Is A Query? (6:27)
Exercise: Setting Up Your First Database
Imperative vs Declarative (3:24)
History of SQL (2:21)
Optional: History of SQL Deep Dive
Exercises: The Select Statement
SQL Standards (4:25)
Tables (3:45)
Columns (4:07)
Rows (2:27)
Primary And Foreign Keys (5:03)
Relational vs NoSQL, PostgreSQL vs MongoDB Databases (10:35)
Scalability (4:19)
Sharding (3:04)
Recommended Path: Back to Node


The second version of 2021/9 with 1080 quality compared to the previous version of 2021/9 has 86 lessons for 11 hours and 28 minutes.

download link

ZeroToMastery – Complete Node.js Developer in 2021: Zero to Mastery 2021-9 v2 (1080p, x264)

Download Part 1 – 3 GB

Download Part 2 – 3 GB

Download section 3 – 3 GB

Download section 4 – 3 GB

Download Section 5 – 202 MB

One comment

Leave a Reply