The Complete Node.js Developer Course (3rd Edition)
- Description
- Curriculum
- FAQ
- Reviews
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:
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
-
3Section Intro: Installing and Exploring Node.jsVideo lesson
In this section, you’re going to set up your machine for the rest of the course. This includes installing Node.js and Visual Studio Code. This section also dives into what Node.js is, how Node.js works, and why Node.js is a tool worth learning.
-
4Installing Node.js and Visual Studio CodeVideo lesson
In this lesson, you’ll install Node.js and Visual Studio Code. Both are free, open source, and available for all operating system. They’re the only tools needed to get started with Node!
-
5What is Node.js?Video lesson
In this lesson, you’ll explore what Node.js is. This includes a brief tour of the V8 JavaScript engine, non-blocking I/O, and more!
-
6Why Should I Use Node.js?Video lesson
Why should you use Node.js? In this lesson, you’ll learn what makes Node.js a tool worth using.
-
7Your First Node.js ScriptVideo lesson
It’s time. In this lesson, you’ll be creating and running your very first Node.js app.
-
8Section Intro: Node.js Module SystemVideo lesson
The best way to get started with Node.js is to explore its module system. The module system lets you load external libraries into your application. That’ll enable you to take advantage of built-in Node.js modules as well as third-party npm modules. This includes libraries for connecting to database, creating web servers, and more!
-
9Importing Node.js Core ModulesVideo lesson
Node.js comes with dozens of built-in modules. These built-in modules, sometimes referred to as core modules, give you access to tools for working with the file system, making http requests, creating web servers, and more! In this lesson, you’ll learn how to load in those core modules and use them in your code.
-
10Importing Your Own FilesVideo lesson
Putting all your code in a single file makes it easy to get started with Node.js. As you add more code, you’ll want to stay organized and break your Node.js app into multiple scripts that all work together. In this lesson, you’ll learn how to create a Node.js application that’s spread out across multiple files.
-
11Importing npm ModulesVideo lesson
When you install Node.js, you also get npm. npm is a package manager that allows you to install and use third-party npm libraries in your code. This opens up a world of possibilities, as there are npm packages for everything from email sending to file uploading. In this lesson, you’ll learn how to integrate npm into your Node.js app.
-
12Printing in ColorVideo lesson
There are npm modules for pretty much anything you’d want to do with Node.js. In this lesson, it’s up to you to install and use a new one!
-
13Global npm Modules and nodemonVideo lesson
You can use npm modules from outside of your scripts by installing them globally. Globally installed modules are designed to be used from the terminal and provide you with new commands you can run. In this lesson, you’ll learn how to install and work with global modules.
-
14Section Intro: File System and Command Line ArgsVideo lesson
It’s time to start building your first Node.js application. In this section, you’ll learn how to use the file system and command line arguments to create a note taking app. Along the way, you’ll learn how to get input from the user, work with JSON, and create a place to store user data.
-
15Getting Input from UsersVideo lesson
I can’t think of a single useful application that doesn’t get input from the users. Whether it’s their email, location, or age, getting input is essential for creating real-world apps. In this lesson, you’ll learn how to set up command line arguments that allow users to pass data into your application.
-
16Argument Parsing with Yargs: Part IVideo lesson
Node.js provides a bare-bones way to access command line arguments. While it’s a good start, it doesn’t provide any way to parse more complex command line arguments. In this lesson, you’ll learn how to use Yargs to easily set up a more complex set of arguments for your application.
-
17Argument Parsing with Yargs: Part IIVideo lesson
In this lesson, you’ll continue to explore Yargs. The goal is to allow users to pass in the title and body of their notes using command line options. This same technique could be used to allow users to pass in data such as their name, email, or address.
-
18Storing Data with JSONVideo lesson
In this lesson, you’ll learn how to work with JSON. JSON, which stands for JavaScript Object Notation, is a lightweight data format. JSON makes it easy to store or transfer data. You’ll be using it in this application to store users notes in the file system.
-
19Adding a NoteVideo lesson
In this lesson, you’ll be saving new notes to the file system.
-
20Removing a NoteVideo lesson
It’s challenge time. In this lesson, you’ll be adding the ability for users to remove notes they’ve added.
-
21ES6 Aside: Arrow FunctionsVideo lesson
In this lesson, you’ll learn how to use ES6 arrow functions. Arrow functions come with a few great features, making them a nice alternative to the standard ES5 function. You’ll explore the new syntax and learn when to use them!
-
22Refactoring to Use Arrow FunctionsVideo lesson
In this lesson, you’ll use what you’ve learned about arrow functions to integrate them into the Node.js app.
-
23Listing NotesVideo lesson
In this lesson, you’ll create a new app feature that allows users to list out their notes.
-
24Reading a NoteVideo lesson
In this lesson, you’ll add a new app feature that allows users to read a note.
-
25Section Intro: Debugging Node.jsVideo lesson
What’s worse than getting an error when you run your application? Not knowing how to fix it. In this section, you’ll learn how to effectively debug your Node.js apps. You’ll learn how to track down and fix issues so you can get back to the important work.
-
26Debugging Node.jsVideo lesson
In this lesson, you’ll learn how to debug your Node.js applications. Node comes with a great set of tools for getting to the bottom of any bug or programming issue.
-
27Error MessagesVideo lesson
In this lesson, you’ll learn how to read error messages. Error messages contain useful information about what went wrong, but they can be a pain to read. Learning how to read them will let you fix errors fast.
-
28Section Intro: Asynchronous Node.jsVideo lesson
It’s time to connect your application with the outside world. In this section, you’ll explore the asynchronous nature of Node.js. You’ll learn how to use asynchronous programming to make HTTP API requests to third-party HTTP APIs. This will allow you to pull in data, like real-time weather data, into your app.
-
29Asynchronous BasicsVideo lesson
In this lesson, you’ll explore the basics of asynchronous development. You’ll get a preview of what asynchronous code looks like and how it’s different from synchronous code.
-
30Call Stack, Callback Queue, and Event LoopVideo lesson
In this lesson, you’ll visualize how Node.js and V8 manage your asynchronous code. This includes the call stack, callback queue, event loop, and more!
-
31Making HTTP RequestsVideo lesson
In this lesson, you’ll learn how to make HTTP requests from Node. This will enable your app to communicate with other APIs and servers to do a wide variety of things. Everything from fetching real-time weather data to sending text messages to users.
-
32Customizing HTTP RequestsVideo lesson
In this lesson, you’ll explore an option for the request library that allows it to automatically parse JSON data into a JavaScript object.
-
33An HTTP Request ChallengeVideo lesson
It’s challenge time. In this video, it’s on you to integrate a geocoding API into the Node.js app.
-
34Handling ErrorsVideo lesson
There are plenty of reasons an HTTP request can fail. Maybe your machine doesn’t have an internet connection, or maybe the URL is incorrect. Regardless of what goes wrong, in this lesson, you’ll learn how to handle errors that occur when making HTTP requests.
-
35The Callback FunctionVideo lesson
A callback function is a function that’s passed as an argument to another function. That’s it. This is something you’ve used before, and in this lesson, you’ll dive a bit deeper into how they work.
-
36Callback AbstractionVideo lesson
Callback functions can be used to abstract complex asynchronous code into a simple reusable function. In this lesson, you’ll learn how to use this pattern to create a reusable function for geocoding an address.
-
37Callback Abstraction ChallengeVideo lesson
It’s challenge time. In this lesson, it’s on you to create a reusable function to fetch a weather forecast.
-
38Callback ChainingVideo lesson
In this lesson, you’ll learn how to run one asynchronous operation only after another asynchronous operation is complete. That’ll allow you to use the output from geocoding as the input for fetching the weather.
-
39ES6 Aside: Object Property Shorthand and DestructuringVideo lesson
ES6 has done wonders making JavaScript easier to use. In this lesson, you’ll explore a couple of features that make it easier to work with objects.
-
40Destructuring and Property Shorthand ChallengeVideo lesson
In this video, it’s on you to use the property shorthand and object destructuring syntax in your Node.js app.
-
41Bonus: HTTP Requests Without a LibraryVideo lesson
While the request library is great, it’s not necessary if you want to make HTTP requests from Node. In this bonus lesson, you’ll learn how to make an HTTP request without request.
-
42Section Intro: Web ServersVideo lesson
Node.js is commonly used as a web server to serve up websites, JSON, and more. In this section, you’ll be creating your first Node server with Express. This will allow users to interact with your application by visiting a URL in the browser.
-
43Hello Express!Video lesson
Serving up websites and JSON data is easy with Express. In this lesson, you’ll learn how to create your first web server with Express. Once the server is up and running, users will be able to interact with your application via the browser.
-
44Serving up HTML and JSONVideo lesson
With the basics out of the way, it’s time to serve up HTML and JSON with Express. That’ll let you serve up a static website or create an HTTP REST API designed to be consumed by a web or mobile application.
-
45Serving up Static AssetsVideo lesson
Express can serve up all the assets needed for your website. This includes HTML, CSS, JavaScript, images, and more. In this lesson, you’ll learn how to serve up an entire directory with Express.
-
46Serving up CSS, JS, Images, and MoreVideo lesson
In this lesson, you’ll use the Express server to serve up a webpage with images, styles, and scripts.
-
47Dynamic Pages with TemplatingVideo lesson
Your web pages don’t have to be static. Express supports templating engines that allow you to render dynamic HTML pages. In this lesson, you’ll learn how to set up the Handlerbars templating engine with Express.
-
48Customizing the Views DirectoryVideo lesson
In this lesson, you’ll learn how to customize the name and location of the views directory.
-
49Advanced TemplatingVideo lesson
In this lesson, you’ll learn how to work with Handlerbars partials. As the name suggests, partials are just part of a web page. Partials are great for things you need to show on multiple pages like headers, footers, and navigation bars.
-
50404 PagesVideo lesson
In this lesson, you’ll learn how to set up a 404 page. The 404 page will show when a user tries to visit a page that doesn’t exist.
-
51Styling the Application: Part IVideo lesson
In this lesson, you’ll add some styles to the weather application.
-
52Styling the Application: Part IIVideo lesson
In this lesson, you’ll finish styling the weather application.
-
53Section Intro: Accessing API from BrowserVideo lesson
In this section, you’ll learn how to set up communication between the client and the server. This will be done via HTTP requests. By the end of the section, users will be able to type an address in the browser to view their forecast.
-
54The Query StringVideo lesson
In this lesson, you’ll learn how to use query strings to pass data from the client to the server. This will be used to send the address from the browser to Node.js. Node.js will then be able to fetch the weather for the address and send the forecast back to the browser.
-
55Building a JSON HTTP EndpointVideo lesson
The weather application already has the code in place to fetch the weather for a given address. In this lesson, it’s your job to wire up the route handler to fetch the weather and send it back to the browser.
-
56ES6 Aside: Default Function ParametersVideo lesson
ES6 provides a new syntax to set default values for function arguments. In this lesson, you’ll use this new syntax to improve and clean up the application code.
-
57Browser HTTP Requests with FetchVideo lesson
In this lesson, you’ll learn how to make HTTP AJAX requests from the browser. This will allow the web application to request the forecast from the Node.js server.
-
58Creating a Search FormVideo lesson
In this lesson, you’ll set up the weather search form. This will allow a visitor to type in their address, click a button, and then see their real-time forecast information.
-
59Wiring up the User InterfaceVideo lesson
In this lesson, you’ll learn how to manipulate the text content of HTML elements from JavaScript. That will allow the weather application to render the forecast data to the browser instead of the console.
-
60Section Intro: Application DeploymentVideo lesson
In this section, you’ll learn how to deploy your Node.js applications to production. This will allow anyone with an internet connection to view and interact with your Node.js app. Along the way, you’ll learn how to use Git, GitHub, Heroku, and more!
-
61Joining Heroku and GitHubVideo lesson
In this lesson, you’ll join GitHub and Heroku. GitHub is a development platform that makes it easy to manage software development projects. Heroku is an application deployment platform which provides everything needed to deploy your Node.js applications.
-
62Version Control with GitVideo lesson
In this lesson, you’ll learn about version control. Version control allows you to track changes to your project code over time. This makes it easy to recover lost code and restore your project to a previously working version.
-
63Exploring GitVideo lesson
Git is not the easiest tool in the world to get started with. In this lesson, you’ll explore how Git works and how it can help you keep track of code changes.
-
64Integrating GitVideo lesson
It’s time to start using Git. In this lesson, you’ll learn how to set up Git in your project. You’ll also explore the commands needed to get Git tracking your code.
-
65Setting up SSH KeysVideo lesson
In this lesson, you’ll be setting up SSH on your machine. SSH is the protocol used to securely transfer code between your machine and GitHub/Heroku.
-
66Pushing Code to GitHubVideo lesson
In this lesson, you’ll learn how to push your code to GitHub.
-
67Deploying Node.js to HerokuVideo lesson
In this lesson, you’ll deploy your application to Heroku. Anyone with an internet connection will be able to access and use your application!
-
68New Feature Deployment WorkflowVideo lesson
In this lesson, you’ll go through the process of adding a new feature to the application. This includes committing the changes, pushing them to GitHub, and deploying them to Heroku.
-
69Avoiding Global ModulesVideo lesson
In this lesson, you’ll refactor your application to remove the use of global modules. This ensures that your application installs all the dependencies you need to run.
-
70Section Intro: Databases and Advanced Asynchronous DevelopmentVideo lesson
In this section, you’ll learn how to connect to a MongoDB database from your Node.js application. This will allow your application to store data in a secure and reliable fashion. The task application will use MongoDB to store user accounts as well as tasks.
-
71MongoDB and NoSQL DatabasesVideo lesson
In this lesson, you’ll explore NoSQL databases and MongoDB. MongoDB and NoSQL database are a bit different than traditional SQL databases such as MySQL, so this lesson will bring you up to speed on some key ideas and terminologies related to NoSQL.
-
72Installing MongoDB on macOS and LinuxVideo lesson
In this lesson, you’ll learn how to install MongoDB on macOS and Linux. Using Windows? That’s covered in the next lesson.
-
73Installing MongoDB on WindowsVideo lesson
In this lesson, you’ll learn how to install MongoDB on Windows. Using macOS or Linux? They were covered in the previous lesson.
-
74Installing Database GUI ViewerVideo lesson
In this lesson, you’ll set up Robo 3T. Robo 3T is a MongoDB admin tool that makes it easy to manage and visualize the data in your database.
-
75Connecting and Inserting DocumentsVideo lesson
In this lesson, you’ll be connecting to your MongoDB database from your Node.js application. You’ll also learn how to insert documents into the database to save them for later.
-
76Inserting DocumentsVideo lesson
In this lesson, you’ll explore another way to insert documents into collections.
-
77The ObjectIDVideo lesson
In this lesson, you’ll learn about ObjectIDs. MongoDB uses ObjectIDs to create unique identifiers for all the documents in the database. It’s different than the traditional auto-incrementing integer ID, but it comes with its own set of advantages.
-
78Querying DocumentsVideo lesson
In this lesson, you’ll learn how to read data from MongoDB. This will allow you to fetch the documents that you had previously inserted.
-
79PromisesVideo lesson
In this lesson, you’ll learn how to work with promises. Promises provide a much needed alternative to the traditional callback pattern.
-
80Updating DocumentsVideo lesson
In this lesson, you’ll learn how to update documents stored in MongoDB.
-
81Deleting DocumentsVideo lesson
In this lesson, you’ll learn how to delete documents stored in MongoDB.
External Links May Contain Affiliate Links read more