About Course
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:
1. A note-taking app to get your feet wet
2. A weather application that interacts with the MapBox and Dark Sky APIs
3. A task manager REST API complete with user accounts and authentication
4. 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.
Don’t take my word for it. Check the reviews and see what other students are saying.
“Any questions people seem to have are answered swiftly, clearly, and often with examples posted on GitHub. Even when the questions asked are out of the scope of the course Andrew seems to come up trumps.” – Adam Tait
“This is amazing. What’s even better is the instructor answered all the questions I asked.” – Pak Chu
“The real value in this course is Andrew; he is not just a great teacher, but also he’s quick to answer questions and provide feedback.” – Nick Hester
I guarantee this is the most up-to-date and engaging Node course available, and it comes with a 30-day money-back guarantee.
During eight chapters you’ll learn:
1. Node.js
2. Npm
3. Asynchronous programming
4. ES6/ES7
5. MongoDB
6. Express
7. Socket.IO
8. JWT Authentication
9. Mongoose
10. File and image uploads
11. Email sending
12. Application deployment with Heroku
13. Version control with Git
14. GitHub
15. REST API Design
16. Code testing
17. Debugging
18. Jest
19. Many more tools
I can’t wait to see you on the inside!
– Andrew
What Will You Learn?
- 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
Course Content
Welcome
-
Welcome to the Class!
00:00 -
Grab the PDF Guide
00:00
Installing and Exploring Node.js
-
Section Intro Installing and Exploring Node.js
00:00 -
Installing Node.js and Visual Studio Code
08:52 -
What is Node.js
00:00 -
Why Should I Use Node.js
00:00 -
Your First Node.js Script
00:00
Node.js Module System(Notes App)
-
Section Intro Node.js Module System
00:00 -
Importing Node.js Core Modules
00:00 -
Importing Your Own Files
00:00 -
Importing npm Modules
00:00 -
Printing in Color
00:00 -
Global npm Modules and nodemon
00:00
File System and Command Line Args (Notes App)
-
Section Intro: File System and Command Line Args
00:00 -
Getting Input from Users
00:00 -
Argument Parsing with Yargs: Part I
00:00 -
Argument Parsing with Yargs: Part II
00:00 -
Storing Data with JSON
00:00 -
Adding a Note
00:00 -
Removing a Note
00:00 -
ES6 Aside: Arrow Functions
00:00 -
Refactoring to Use Arrow Functions
00:00 -
Listing Notes
00:00 -
Reading a Note
00:00
Debugging Node.js (Notes App)
-
Section Intro: Debugging Node.js
00:00 -
Debugging Node.js
00:00 -
Error Messages
00:00
Asynchronous Node.js (Weather App)
-
Section Intro: Asynchronous Node.js
00:00 -
Asynchronous Basics
00:00 -
Call Stack, Callback Queue, and Event Loop
00:00 -
Making HTTP Requests
00:00 -
Customizing HTTP Requests
00:00 -
An HTTP Request Challenge
00:00 -
Handling Errors
00:00 -
The Callback Function
00:00 -
Callback Abstraction
00:00 -
Callback Abstraction Challenge
00:00 -
Callback Chaining
00:00 -
ES6 Aside: Object Property Shorthand and Destructuring
00:00 -
Destructuring and Property Shorthand Challenge
00:00 -
Bonus: HTTP Requests Without a Library
00:00
Web Servers (Weather App)
-
Section Intro: Web Servers
00:00 -
Hello Express!
00:00 -
Serving up HTML and JSON
00:00 -
Serving up Static Assets
00:00 -
Serving up CSS, JS, Images, and More
00:00 -
Dynamic Pages with Templating
00:00 -
Customizing the Views Directory
00:00 -
Advanced Templating
00:00 -
404 Pages
00:00 -
Styling the Application: Part I
00:00 -
Styling the Application: Part II
00:00
Accessing API From Browser (Weather App)
-
Section Intro: Accessing API from Browser
00:52 -
The Query String
00:00 -
Building a JSON HTTP Endpoint
00:00 -
ES6 Aside: Default Function Parameters
00:00 -
Browser HTTP Requests with Fetch
00:00 -
Creating a Search Form
00:00 -
Wiring up the User Interface
00:00
Application Deployment (Weather App)
-
Section Intro: Application Deployment
00:00 -
Joining Heroku and GitHub
00:00 -
Version Control with Git
00:00 -
Exploring Git
00:00 -
Integrating Git
00:00 -
Setting up SSH Keys
00:00 -
Pushing Code to GitHub
00:00 -
Deploying Node.js to Heroku
00:00 -
New Feature Deployment Workflow
00:00 -
Avoiding Global Modules
00:00
MongoDB and Promises (Task App)
-
Section Intro: Databases and Advanced Asynchronous Development
00:00 -
MongoDB and NoSQL Databases
00:00 -
Installing MongoDB on macOS and Linux
00:00 -
Installing MongoDB on Windows
08:31 -
Installing Database GUI Viewer
00:00 -
Connecting and Inserting Documents
00:00 -
Inserting Documents
00:00 -
The ObjectID
00:00 -
Querying Documents
00:00 -
Promises
00:00 -
Updating Documents
00:00 -
Deleting Documents
00:00
REST APIs and Mongoose (Task App)
-
Section Intro: REST APIs and Mongoose
00:00 -
Setting up Mongoose
00:00 -
Creating a Mongoose Model
00:00 -
Data Validation and Sanitization: Part I
00:00 -
Data Validation and Sanitization: Part II
00:00 -
Structuring a REST API
00:00 -
Installing Postman
00:00 -
Resource Creation Endpoints: Part I
00:00 -
Resource Creation Endpoints: Part II
00:00 -
Resource Reading Endpoints: Part I
00:00 -
Resource Reading Endpoints: Part II
00:00 -
Promise Chaining
00:00 -
Promise Chaining Challenge
00:00 -
Async/Await
00:00 -
Async/Await: Part II
00:00 -
Integrating Async/Await
00:00 -
Resource Updating Endpoints: Part I
00:00 -
Resource Updating Endpoints: Part II
00:00 -
Resource Deleting Endpoints
00:00 -
Separate Route Files
00:00
API Authentication and Security (Task App)
-
Section Intro: API Authentication and Security
00:00 -
Securely Storing Passwords: Part I
00:00 -
Securely Storing Passwords: Part II
00:00 -
Logging in Users
00:00 -
JSON Web Tokens
00:00 -
Generating Authentication Tokens
00:00 -
Express Middleware
00:00 -
Accepting Authentication Tokens
00:00 -
Advanced Postman
00:00 -
Logging Out
00:00 -
Hiding Private Data
00:00 -
Authenticating User Endpoints
00:00 -
The User/Task Relationship
00:00 -
Authenticating Task Endpoints
00:00 -
Cascade Delete Tasks
00:00
Sorting , Pagination , and Filtering (Task App)
-
Section Intro: Sorting, Pagination, and Filtering
00:00 -
Working with Timestamps
00:00 -
Filtering Data
00:00 -
Paginating Data
00:00 -
Sorting Data
00:00
File Uploads (Task App)
-
Section Intro: File Uploads
00:00 -
Adding Support for File Uploads
00:00 -
Validating File Uploads
00:00 -
Validation Challenge
00:00 -
Handling Express Errors
00:00 -
Adding Images to User Profile
00:00 -
Serving up Files
00:00 -
Auto-Cropping and Image Formatting
00:00
Sending Emails (Task App)
-
Section Intro: Sending Emails
00:00 -
Exploring SendGrid
00:00 -
Sending Welcome and Cancelation Emails
00:00 -
Environment Variables
00:00 -
Creating a Production MongoDB Database
00:00 -
Heroku Deployment
00:00
Testing Node.js (Task App)
-
Section Intro: Testing Node.js
00:00 -
Jest Testing Framework
00:00 -
Writing Tests and Assertions
00:00 -
Writing Your Own Tests
00:00 -
Testing Asynchronous Code
00:00 -
Testing an Express Application: Part I
00:00 -
Testing an Express Application: Part II
00:00 -
Jest Setup and Teardown
00:00 -
Testing with Authentication
00:00 -
Advanced Assertions
00:00 -
Mocking Libraries
00:00 -
Wrapping up User Tests
00:00 -
Setup Task Test Suite
00:00 -
Testing with Task Data
00:00 -
Bonus: Extra Test Ideas
00:00
Real -Time Web Application with Socket .io(Chat App)
-
Section Intro: Real-Time Web Applications with Socket.io
00:00 -
Creating the Chat App Project
00:00 -
WebSockets
00:00 -
Getting Started with Socket.io
00:00 -
Socket.io Events
00:00 -
Socket.io Events Challenge
00:00 -
Broadcasting Events
00:00 -
Sharing Your Location
00:00 -
Event Acknowledgements
00:00 -
Form and Button States
00:00 -
Rendering Messages
00:00 -
Rendering Location Messages
00:00 -
Working with Time
00:00 -
Timestamps for Location Messages
00:00 -
Styling the Chat App
00:00 -
Join Page
06:18 -
Socket.io Rooms
00:00 -
Storing Users: Part I
00:00 -
Storing Users: Part II
00:00 -
Tracking Users Joining and Leaving
00:00 -
Sending Messages to Rooms
00:00 -
Rendering User List
00:00 -
Automatic Scrolling
00:00 -
Deploying the Chat Application
00:00 -
Assignment: Building a Full-Stack Web Application with Node.js
00:00
Wrapping Up
-
Section Intro
00:00 -
New Feature Ideas
00:00 -
Bonus: What should I learn next?
00:00