The Complete Node.js Developer Course (3rd Edition)

The Complete Node.js Developer Course (3rd Edition)
The Complete Node.js Developer Course (3rd Edition)
English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 34.5 Hours | 15.1 GB

Learn Node.js by building real-world applications with Node, Express, MongoDB, Mocha, and more!

This course was just completely refilmed to give you everything you need to master Node.js in 2019!

This includes new content, updated versions, new features, and more.

Have you tried to learn Node before? You start a new course, and the instructor has you installing a bunch of libraries before you even know what Node is or how it works. You eventually get stuck and reach out to the instructor, but you get no reply. You then close the course and never open it again.

Sound familiar?

I created this course to be what I wanted when I was learning Node.

The Complete Node.js Developer Course covers the fundamentals of Node before diving deep into great tools like Express, Mongoose, and MongoDB.

The entire course is based around a single goal: Turning you into a professional Node developer capable of developing, testing, and deploying real-world production applications.

The best way to learn Node is by building Node apps.

From the very start you’ll be programming every project and working through challenges that I’ve designed to reinforce what you’ve learned. This will give you the hands-on experience necessary to be able to create and launch your own project once you’re done.

You’ll be building four projects:

  • A note-taking app to get your feet wet
  • A weather application that interacts with the MapBox and Dark Sky APIs
  • A task manager REST API complete with user accounts and authentication
  • A real-time chat app with a client-side companion

By the end, you’ll be able to take what you’ve learned and launch your own Node application.

When learning, learn the latest.

I work to keep this course full of the most up-to-date Node material out there. This course is compatible with the latest Node.js version.

You’re getting access to hot-off-the-press features.

Everything you need comes in one easy-to-use package.

You can stop worrying if you’re learning the right skills to build an app or land a new job. I’ve curated all the tech that’s essential to building real-world apps. I’ve mapped out everything in a comprehensive, easy-to-follow package designed to get you up and running in a few weeks.

There’s no better time to learn Node.

According to the 2016 Stack Overflow Survey, Node is in the top ten for back-end popularity and back-end salary, with an average salary of $85k. This means more jobs and more opportunities for you.

You might get stuck. But I’m here to help.

There’s nothing worse than getting five hours into a course, getting stuck, and not getting the help you need to continue.

I’m in the Q&A everyday to help you get unstuck. I reply to every question to get you back on track.

During eight chapters you’ll learn:

  • Node.js
  • Npm
  • Asynchronous programming
  • ES6/ES7
  • MongoDB
  • Express
  • Socket.IO
  • JWT Authentication
  • Mongoose
  • File and image uploads
  • Email sending
  • Application deployment with Heroku
  • Version control with Git
  • GitHub
  • REST API Design
  • Code testing
  • Debugging
  • Jest
  • Many more tools

What you’ll learn

  • Completely refilmed for 2019
  • Build, test, and launch Node apps
  • Create Express web servers and APIs
  • Store data with Mongoose and MongoDB
  • Use cutting-edge ES6/ES7 JavaScript
  • Deploy your Node apps to production
  • Create real-time web apps with SocketIO
Table of Contents

Welcome
1 Welcome to the Class
2 Grab the PDF Guide

Installing and Exploring Node.js
3 Section Intro Installing and Exploring Node.js
4 Installing Node.js and Visual Studio Code
5 What is Node.js
6 Why Should I Use Node.js
7 Your First Node.js Script

Node.js Module System (Notes App)
8 Section Intro Node.js Module System
9 Importing Node.js Core Modules
10 Importing Your Own Files
11 Importing npm Modules
12 Printing in Color
13 Global npm Modules and nodemon

File System and Command Line Args (Notes App)
14 Section Intro File System and Command Line Args
15 Getting Input from Users
16 Argument Parsing with Yargs Part I
17 Argument Parsing with Yargs Part II
18 Storing Data with JSON
19 Adding a Note
20 Removing a Note
21 ES6 Aside Arrow Functions
22 Refactoring to Use Arrow Functions
23 Listing Notes
24 Reading a Note

Debugging Node.js (Notes Apps)
25 Section Intro Debugging Node.js
26 Debugging Node.js
27 Error Messages

Asynchronous Node.js (Weather App)
28 Section Intro Asynchronous Node.js
29 Asynchronous Basics
30 Call Stack Callback Queue and Event Loop
31 Making HTTP Requests
32 Customizing HTTP Requests
33 An HTTP Request Challenge
34 Handling Errors
35 The Callback Function
36 Callback Abstraction
37 Callback Abstraction Challenge
38 Callback Chaining
39 ES6 Aside Object Property Shorthand and Destructuring
40 Destructuring and Property Shorthand Challenge
41 Bonus HTTP Requests Without a Library

Web Servers (Weather App)
42 Section Intro Web Servers
43 Hello Express
44 Serving up HTML and JSON
45 Serving up Static Assets
46 Serving up CSS JS Images and More
47 Dynamic Pages with Templating
48 Customizing the Views Directory
49 Advanced Templating
50 Pages
51 Styling the Application Part I
52 Styling the Application Part II

Accessing API from Browser (Weather App)
53 Section Intro Accessing API from Browser
54 The Query String
55 Building a JSON HTTP Endpoint
56 ES6 Aside Default Function Parameters
57 Browser HTTP Requests with Fetch
58 Creating a Search Form
59 Wiring up the User Interface

Application Deployment (Weather App)
60 Section Intro Application Deployment
61 Joining Heroku and GitHub
62 Version Control with Git
63 Exploring Git
64 Integrating Git
65 Setting up SSH Keys
66 Pushing Code to GitHub
67 Deploying Node.js to Heroku
68 New Feature Deployment Workflow
69 Avoiding Global Modules

MongoDB and Promises (Task App)
70 Section Intro Databases and Advanced Asynchronous Development
71 MongoDB and NoSQL Databases
72 Installing MongoDB on macOS and Linux
73 Installing MongoDB on Windows
74 Installing Database GUI Viewer
75 Connecting and Inserting Documents
76 Inserting Documents
77 The ObjectID
78 Querying Documents
79 Promises
80 Updating Documents
81 Deleting Documents

REST APIs and Mongoose (Task App)
82 Section Intro REST APIs and Mongoose
83 Setting up Mongoose
84 Creating a Mongoose Model
85 Data Validation and Sanitization Part I
86 Data Validation and Sanitization Part II
87 Structuring a REST API
88 Installing Postman
89 Resource Creation Endpoints Part I
90 Resource Creation Endpoints Part II
91 Resource Reading Endpoints Part I
92 Resource Reading Endpoints Part II
93 Promise Chaining
94 Promise Chaining Challenge
95 AsyncAwait
96 AsyncAwait Part II
97 Integrating AsyncAwait
98 Resource Updating Endpoints Part I
99 Resource Updating Endpoints Part II
100 Resource Deleting Endpoints
101 Separate Route Files

API Authentication and Security (Task App)
102 Section Intro API Authentication and Security
103 Securely Storing Passwords Part I
104 Securely Storing Passwords Part II
105 Logging in Users
106 JSON Web Tokens
107 Generating Authentication Tokens
108 Express Middleware
109 Accepting Authentication Tokens
110 Advanced Postman
111 Logging Out
112 Hiding Private Data
113 Authenticating User Endpoints
114 The UserTask Relationship
115 Authenticating Task Endpoints
116 Cascade Delete Tasks

Sorting Pagination and Filtering (Task App)
117 Section Intro Sorting Pagination and Filtering
118 Working with Timestamps
119 Filtering Data
120 Paginating Data
121 Sorting Data

File Uploads (Task App)
122 Section Intro File Uploads
123 Adding Support for File Uploads
124 Validating File Uploads
125 Validation Challenge
126 Handling Express Errors
127 Adding Images to User Profile
128 Serving up Files
129 Auto-Cropping and Image Formatting

Sending Emails (Task App)
130 Section Intro Sending Emails
131 Exploring SendGrid
132 Sending Welcome and Cancelation Emails
133 Environment Variables
134 Creating a Production MongoDB Database
135 Heroku Deployment

Testing Node.js (Task App)
136 Section Intro Testing Node.js
137 Jest Testing Framework
138 Writing Tests and Assertions
139 Writing Your Own Tests
140 Testing Asynchronous Code
141 Testing an Express Application Part I
142 Testing an Express Application Part II
143 Jest Setup and Teardown
144 Testing with Authentication
145 Advanced Assertions
146 Mocking Libraries
147 Wrapping up User Tests
148 Setup Task Test Suite
149 Testing with Task Data
150 Bonus Extra Test Ideas

Real-Time Web Applications with Socket.io (Chat App)
151 Section Intro Real-Time Web Applications with Socket.io
152 Creating the Chat App Project
153 WebSockets
154 Getting Started with Socket.io
155 Socket.io Events
156 Socket.io Events Challenge
157 Broadcasting Events
158 Sharing Your Location
159 Event Acknowledgements
160 Form and Button States
161 Rendering Messages
162 Rendering Location Messages
163 Working with Time
164 Timestamps for Location Messages
165 Styling the Chat App
166 Join Page
167 Socket.io Rooms
168 Storing Users Part I
169 Storing Users Part II
170 Tracking Users Joining and Leaving
171 Sending Messages to Rooms
172 Rendering User List
173 Automatic Scrolling
174 Deploying the Chat Application

Wrapping Up
175 Section Intro
176 New Feature Ideas
177 Bonus What should I learn next