Course Highlights
  • Completely refilmed for 3rd edition
  • 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
Skills you will learn!
Curriculum

2 Topics
Welcome to the Class!
Grab the PDF Guide

5 Topics
Section Intro: Installing and Exploring Node.js
Installing Node.js and Visual Studio Code
What is Node.js?
Why Should I Use Node.js?
Your First Node.js Script

6 Topics
Section Intro: Node.js Module System
Importing Node.js Core Modules
Importing Your Own Files
Importing npm Modules
Printing in Color
Global npm Modules and nodemon

11 Topics
Section Intro: File System and Command Line Args
Getting Input from Users
Argument Parsing with Yargs: Part I
Argument Parsing with Yargs: Part II
Storing Data with JSON
Adding a Note
Removing a Note
ES6 Aside: Arrow Functions
Refactoring to Use Arrow Functions
Listing Notes
Reading a Note

3 Topics
Section Intro: Debugging Node.js
Debugging Node.js
Error Messages

14 Topics
Section Intro: Asynchronous Node.js
Asynchronous Basics
Call Stack Callback Queue and Event Loop
Making HTTP Requests
Customizing HTTP Requests
An HTTP Request Challenge
Handling Errors
The Callback Function
Callback Abstraction
Callback Abstraction Challenge
Callback Chaining
ES6 Aside: Object Property Shorthand and Destructuring
Destructuring and Property Shorthand Challenge
Bonus: HTTP Requests Without a Library

11 Topics
Section Intro: Web Servers
Hello Express!
Serving up HTML and JSON
Serving up Static Assets
Serving up CSS JS Images and More
Dynamic Pages with Templating
Customizing the Views Directory
Advanced Templating
404 Pages
Styling the Application: Part I
Styling the Application: Part II

7 Topics
Section Intro: Accessing API from Browser
The Query String
Building a JSON HTTP Endpoint
ES6 Aside: Default Function Parameters
Browser HTTP Requests with Fetch
Creating a Search Form
Wiring up the User Interface

10 Topics
Section Intro: Application Deployment
Joining Heroku and GitHub
Version Control with Git
Exploring Git
Integrating Git
Setting up SSH Keys
Pushing Code to GitHub
Deploying Node.js to Heroku
New Feature Deployment Workflow
Avoiding Global Modules

12 Topics
Section Intro: Databases and Advanced Asynchronous Development
MongoDB and NoSQL Databases
Installing MongoDB on macOS and Linux
Installing MongoDB on Windows
Installing Database GUI Viewer
Connecting and Inserting Documents
Inserting Documents
The ObjectID
Querying Documents
Promises
Updating Documents
Deleting Documents

20 Topics
Section Intro: REST APIs and Mongoose
Setting up Mongoose
Creating a Mongoose Model
Data Validation and Sanitization: Part I
Data Validation and Sanitization: Part II
Structuring a REST API
Installing Postman
Resource Creation Endpoints: Part I
Resource Creation Endpoints: Part II
Resource Reading Endpoints: Part I
Resource Reading Endpoints: Part II
Promise Chaining
Promise Chaining Challenge
Async/Await
Async/Await: Part II
Integrating Async/Await
Resource Updating Endpoints: Part I
Resource Updating Endpoints: Part II
Resource Deleting Endpoints
Separate Route Files

15 Topics
Section Intro: API Authentication and Security
Securely Storing Passwords: Part I
Securely Storing Passwords: Part II
Logging in Users
JSON Web Tokens
Generating Authentication Tokens
Express Middleware
Accepting Authentication Tokens
Advanced Postman
Logging Out
Hiding Private Data
Authenticating User Endpoints
The User/Task Relationship
Authenticating Task Endpoints
Cascade Delete Tasks

5 Topics
Section Intro: Sorting Pagination and Filtering
Working with Timestamps
Filtering Data
Paginating Data
Sorting Data

8 Topics
Section Intro: File Uploads
Adding Support for File Uploads
Validating File Uploads
Validation Challenge
Handling Express Errors
Adding Images to User Profile
Serving up Files
Auto-Cropping and Image Formatting

6 Topics
Section Intro: Sending Emails
Exploring SendGrid
Sending Welcome and Cancelation Emails
Environment Variables
Creating a Production MongoDB Database
Heroku Deployment

15 Topics
Section Intro: Testing Node.js
Jest Testing Framework
Writing Tests and Assertions
Writing Your Own Tests
Testing Asynchronous Code
Testing an Express Application: Part I
Testing an Express Application: Part II
Jest Setup and Teardown
Testing with Authentication
Advanced Assertions
Mocking Libraries
Wrapping up User Tests
Setup Task Test Suite
Testing with Task Data
Bonus: Extra Test Ideas

24 Topics
Section Intro: Real-Time Web Applications with Socket.io
Creating the Chat App Project
WebSockets
Getting Started with Socket.io
Socket.io Events
Socket.io Events Challenge
Broadcasting Events
Sharing Your Location
Event Acknowledgements
Form and Button States
Rendering Messages
Rendering Location Messages
Working with Time
Timestamps for Location Messages
Styling the Chat App
Join Page
Socket.io Rooms
Storing Users: Part I
Storing Users: Part II
Tracking Users Joining and Leaving
Sending Messages to Rooms
Rendering User List
Automatic Scrolling
Deploying the Chat Application

3 Topics
Section Intro
New Feature Ideas
Bonus: What should I learn next?

  Write a Review

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

Go to Paid Course