O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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

Video Description

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

About This Video

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

In Detail

This course was just completely re-filmed 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? 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.

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.

All the code files are placed at https://github.com/PacktPublishing/The-Complete-Node.js-Developer-Course-3rd-Edition-

Downloading the example code for this course: You can download the example code files for all Packt video courses you have purchased from your account at http://www.PacktPub.com. If you purchased this course elsewhere, you can visit http://www.PacktPub.com/support and register to have the files e-mailed directly to you.

Table of Contents

  1. Chapter 1 : Welcome
    1. Welcome to the Class! 00:05:01
    2. Grab the PDF Guide 00:01:03
  2. Chapter 2 : Installing and Exploring Node.js
    1. Section Intro: Installing and Exploring Node.js 00:01:10
    2. Installing Node.js and Visual Studio Code 00:08:24
    3. What is Node.js? 00:15:31
    4. Why Should I Use Node.js? 00:16:24
    5. Your First Node.js Script 00:06:19
  3. Chapter 3 : Node.js Module System (Notes App)
    1. Section Intro: Node.js Module System 00:01:15
    2. Importing Node.js Core Modules 00:16:28
    3. Importing npm Modules 00:16:36
    4. Importing npm Modules 00:16:57
    5. Printing in Color 00:14:24
    6. Global npm Modules and nodemon 00:07:23
  4. Chapter 4 : File System and Command Line Args (Notes App)
    1. Section Intro: File System and Command Line Args 00:00:56
    2. Getting Input from Users 00:09:46
    3. Argument Parsing with Yargs: Part I 00:15:21
    4. Argument Parsing with Yargs: Part II 00:11:21
    5. Storing Data with JSON 00:17:51
    6. Adding a Note 00:18:33
    7. Removing a Note 00:14:59
    8. ES6 Aside: Arrow Functions 00:14:14
    9. Refactoring to Use Arrow Functions 00:14:32
    10. Listing Notes 00:05:31
    11. Reading a Note 00:11:51
  5. Chapter 5 : Debugging Node.js (Notes Apps)
    1. Section Intro: Debugging Node.js 00:01:25
    2. Debugging Node.js 00:15:24
    3. Error Messages 00:04:53
  6. Chapter 6 : Asynchronous Node.js (Weather App)
    1. Section Intro: Asynchronous Node.js 00:01:23
    2. Asynchronous Basics 00:08:00
    3. Call Stack, Callback Queue, and Event Loop 00:18:12
    4. Making HTTP Requests 00:14:51
    5. Customizing HTTP Requests 00:18:27
    6. An HTTP Request Challenge 00:13:54
    7. Handling Errors 00:17:34
    8. The Callback Function 00:16:19
    9. Callback Abstraction 00:17:14
    10. Callback Abstraction Challenge 00:13:44
    11. Callback Chaining 00:13:35
    12. ES6 Aside: Object Property Shorthand and Destructuring 00:15:04
    13. Destructuring and Property Shorthand Challenge 00:06:50
    14. Bonus: HTTP Requests Without a Library 00:14:21
  7. Chapter 7 : Web Servers
    1. Section Intro: Web Servers 00:01:28
    2. Hello Express! 00:18:21
    3. Serving up HTML and JSON 00:07:04
    4. Serving up Static Assets 00:14:50
    5. Serving up CSS, JS, Images, and More 00:11:30
    6. Dynamic Pages with Templating 00:20:04
    7. Customizing the Views Directory 00:07:26
    8. Advanced Templating 00:16:24
    9. 404 Pages 00:14:02
    10. Styling the Application: Part I 00:16:57
    11. Styling the Application: Part II 00:13:48
  8. Chapter 8 : Accessing API from Browser
    1. Section Intro: Accessing API from Browser 00:01:00
    2. The Query String 00:17:08
    3. Building a JSON HTTP Endpoint 00:10:31
    4. ES6 Aside: Default Function Parameters 00:11:52
    5. Browser HTTP Requests with Fetch 00:12:53
    6. Creating a Search Form 00:14:19
    7. Wiring up the User Interface 00:14:06
  9. Chapter 9 : Application Deployment (Weather App)
    1. Section Intro: Application Deployment 00:00:53
    2. Joining Heroku and GitHub 00:09:48
    3. Version Control with Git 00:07:51
    4. Exploring Git 00:06:59
    5. Integrating Git 00:17:10
    6. Setting up SSH Keys 00:08:47
    7. Pushing Code to GitHub 00:11:57
    8. Deploying Node.js to Heroku 00:15:55
    9. New Feature Deployment Workflow 00:14:05
    10. Avoiding Global Modules 00:08:38
  10. Chapter 10 : MongoDB and Promises (Task App)
    1. Section Intro: Databases and Advanced Asynchronous Development 00:01:05
    2. MongoDB and NoSQL Databases 00:08:07
    3. Installing MongoDB on macOS and Linux 00:08:10
    4. Installing MongoDB on Windows 00:08:31
    5. Installing Database GUI Viewer 00:06:55
    6. Connecting and Inserting Documents 00:19:18
    7. Inserting Documents 00:16:42
    8. The ObjectID 00:15:13
    9. Querying Documents 00:17:13
    10. Promises 00:18:03
    11. Updating Documents 00:16:07
    12. Deleting Documents 00:07:46
  11. Chapter 11 : REST APIs and Mongoose (Task App)
    1. Section Intro: REST APIs and Mongoose 00:01:05
    2. Setting up Mongoose 00:16:38
    3. Creating a Mongoose Model 00:05:26
    4. Data Validation and Sanitization: Part I 00:17:35
    5. Data Validation and Sanitization: Part II 00:11:57
    6. Structuring a REST API 00:15:21
    7. Installing Postman 00:08:14
    8. Resource Creation Endpoints: Part I 00:20:29
    9. Resource Creation Endpoints: Part II 00:09:01
    10. Resource Reading Endpoints: Part I 00:13:53
    11. Resource Reading Endpoints: Part II 00:06:38
    12. Promise Chaining 00:19:11
    13. Promise Chaining Challenge 00:07:19
    14. Async/Await 00:17:40
    15. Async/Await: Part II 00:12:21
    16. Integrating Async/Await 00:16:17
    17. Resource Updating Endpoints: Part I 00:16:00
    18. Resource Updating Endpoints: Part II 00:08:49
    19. Resource Deleting Endpoints 00:09:53
    20. Separate Route Files 00:14:48
  12. Chapter 12 : API Authentication and Security (Task App)
    1. Section Intro: API Authentication and Security 00:01:01
    2. Securely Storing Passwords: Part I 00:11:29
    3. Securely Storing Passwords: Part II 00:19:20
    4. Logging in Users 00:13:30
    5. JSON Web Tokens 00:12:03
    6. Generating Authentication Tokens 00:13:46
    7. Express Middleware 00:12:55
    8. Accepting Authentication Tokens 00:20:00
    9. Advanced Postman 00:17:26
    10. Logging Out 00:11:12
    11. Hiding Private Data 00:11:05
    12. Authenticating User Endpoints 00:12:19
    13. The User/Task Relationship 00:19:22
    14. Authenticating Task Endpoints 00:15:55
    15. The User/Task Relationship 00:05:26
  13. Chapter 13 : Sorting, Pagination, and Filtering (Task App)
    1. Section Intro: Sorting, Pagination, and Filtering 00:01:09
    2. Working with Timestamps 00:06:48
    3. Filtering Data 00:11:41
    4. Paginating Data 00:11:04
    5. Sorting Data 00:11:08
  14. Chapter 14 : File Uploads (Task App)
    1. Section Intro: File Uploads 00:00:56
    2. Adding Support for File Uploads 00:19:02
    3. Validating File Uploads 00:15:15
    4. Validation Challenge 00:04:37
    5. Handling Express Errors 00:08:17
    6. Adding Images to User Profile 00:15:10
    7. Serving up Files 00:07:57
    8. Auto-Cropping and Image Formatting 00:11:48
  15. Chapter 15 : Sending Emails (Task App)
    1. Section Intro: Sending Emails 00:01:04
    2. Exploring SendGrid 00:13:24
    3. Sending Welcome and Cancelation Emails 00:16:26
    4. Environment Variables 00:19:10
    5. Creating a Production MongoDB Database 00:15:28
    6. Heroku Deployment 00:19:31
  16. Chapter 16 : Testing Node.js (Task App)
    1. Section Intro: Testing Node.js 00:01:43
    2. Jest Testing Framework 00:15:57
    3. Writing Tests and Assertions 00:17:55
    4. Writing Your Own Tests 00:06:19
    5. Testing Asynchronous Code 00:14:14
    6. Testing an Express Application: Part I 00:05:55
    7. Testing an Express Application: Part II 00:14:19
    8. Jest Setup and Teardown 00:14:27
    9. Testing with Authentication 00:13:11
    10. Advanced Assertions 00:12:49
    11. Mocking Libraries 00:05:57
    12. Wrapping up User Tests 00:16:20
    13. Setup Task Test Suite 00:15:10
    14. Testing with Task Data 00:16:15
    15. Section Intro: Testing Node.js 00:02:47
  17. Chapter 17 : Real-Time Web Applications with Socket.io (Chat App)
    1. Section Intro: Real-Time Web Applications with Socket.io 00:00:42
    2. Creating the Chat App Project 00:13:14
    3. WebSockets 00:06:09
    4. Getting Started with Socket.io 00:12:02
    5. Socket.io Events 00:17:11
    6. Socket.io Events Challenge 00:15:39
    7. Broadcasting Events 00:06:22
    8. Sharing Your Location 00:15:11
    9. Event Acknowledgements 00:13:26
    10. Form and Button States 00:11:23
    11. Rendering Messages 00:12:45
    12. Rendering Location Messages 00:10:28
    13. Working with Time 00:20:28
    14. Timestamps for Location Messages 00:07:05
    15. Styling the Chat App 00:13:11
    16. Join Page 00:06:18
    17. Socket.io Rooms 00:14:37
    18. Storing Users: Part I 00:17:15
    19. Storing Users: Part II 00:07:58
    20. Tracking Users Joining and Leaving 00:14:12
    21. Sending Messages to Rooms 00:14:30
    22. Rendering User List 00:11:38
    23. Automatic Scrolling 00:16:04
    24. Deploying the Chat Application 00:08:07
  18. Chapter 18 : Wrapping up
    1. Section Intro 00:00:48
    2. New Feature Ideas 00:03:49