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

Video description

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.

What You Will Learn

  • Completely re-filmed 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

Audience

Anyone looking to launch their own Node applications, switch careers, or freelance as a Node developer.

About The Authors

Andrew Mead: Andrew Mead - A Full-stack Developer & Teacher

Andrew is a full-stack developer living in beautiful Philadelphia! He launched his first course in 2014 and had a blast teaching and helping others. Since then, he has launched 3 courses with over 110,000 students and over 18,000 5-star reviews. He currently teaches JavaScript, React, and Node. Before he ever thought about teaching, he created a web app development company. He has helped companies of all sizes launch production web applications to their customers. He had the honor of working with awesome companies like Siemens, Mixergy, and Parkloco. He had a Computer Science degree from Temple University, and I've been programming for just over a decade. I love creating, programming, launching, learning, teaching, and biking. He can't wait to see you inside one of my courses!

Rob Percival: Codestars, by Rob Percival, is a revolutionary online learning platform on a mission to transform the way people learn to code. With a focus on simplicity, logic, and fun, Rob has empowered over half a million students through his courses.

Recognizing the need for diverse and comprehensive learning experiences, Rob established Codestars as a collaborative effort. Codestars provides learners of all ages and proficiency levels with the tools and knowledge needed to build functional websites and apps. By making coding accessible and enjoyable, Codestars aims to simplify the learning journey and unlock the potential of aspiring coders worldwide.

Table of contents

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

Product information

  • Title: The Complete Node.js Developer Course (3rd Edition)
  • Author(s): Andrew Mead, Rob Percival
  • Release date: March 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781789955071