I am mainly building the back-end of my applications using Node.js and Express. As a result, I have done a lot of courses in this area. Thus, in this article, I want to present to you my favorite courses to learn Node.js and Express.
They have varying difficulty, some being easier than others. Also, each course has its particularities. For instance, some teach you sessions; some do not. Therefore, they complement each other, even though there is an overlap between them.
Though, remember that nothing helps you more than building projects yourself. Follow the courses, and then put to use what you learned! Also, it's important to note that the courses are in no particular order. Without further ado, let's jump in.
Mozilla MDN Node.js/Express Tutorial
Mozilla MDN is an excellent website with many tutorials, including a tutorial on Node.js and Express. In the tutorial, you learn the concepts by building an online library. The application allows users to add books, authors, and genres. It also shows what the books are written by each author, and to what genre they belong to.
But the question is - what do you learn in this tutorial? You learn:
- About Node and Express. What they are, how they work, and what their benefits are.
- How to set-up a Node (Express) development environment.
- To perform CRUD operations.
- How to create relationships between data. (e.g. Authors and Books)
- The MVC pattern - controllers, views, models, routes.
- How to use MongoDB and Mongoose with Node.js and Express.
- To create a front-end for your application using Pug.
- How to deploy your application to production.
Do not be fooled by the simplistic look of the application because the tutorial is not a design/front-end tutorial. The tutorial provides a lot of invaluable information on building a back-end application ready to deploy to production.
The verdict? I highly recommend the tutorial, and you can check it on the MDN's website.
Another excellent tutorial on Node and Express is the tutorial from FreecodeCamp. Similar to Mozilla MDN, the tutorial takes you from no knowledge on the subject to advanced concepts like authentication. Besides that, you are going to build multiple applications, not just one. Thus, there are lots of opportunities to practice what you learn.
Without further ado, let's see some of the things you learn by following FreecodeCamp's curriculum:
- Introduction to Node and Express.
- Implement Middlewares.
- Learn about Query/Route Parameters.
- Get and parse data from POST requests.
- Use MongoDB and Mongoose to store data in a database and manipulate it.
- Set up authentication and authorization with Passport.
- Implement CRUD operations.
I extracted the most important topics, but the curriculum covers a lot more. Freecodecamp is a great way to get up and running with Node.js and Express. You would need to complete the material with other resources for advanced concepts and best practices, though.
To conclude, Freecodecamp is one of the best resources because you do not have to set up your environment. That means you can focus just on coding and not other things. Besides that, the information is valuable, and you can learn a lot of stuff for free.
The Complete Node.js Developer by Andrew Mead
This course is one of the best to introduce you to the world of Node.js and Express. During this course, you build four web applications. Each application has a purpose, and it teaches you a handful of concepts. Thus, you learn a lot by building those four projects.
Some of the concepts you learn in this course are:
- Learning about Node.js Package Manager - NPM.
- Designing a REST API.
- Version Control with Git.
- Uploading files and images.
- Sending emails.
- You also learn about ES6 and ES7.
- How to authenticate users with JWT - JSON Web Token.
- Testing with Jest.
- Debugging with VS Code and Google Chrome.
As usual, I highlighted the most important concepts you learn in the course. However, there are more concepts you learn. The course well-thought and you can use it to start with Node.js and Express or to fill gaps you have in your knowledge. The reason this course stands out is that the instructor goes into great detail about each concept. The explanations are not rushed, which makes it easier to follow along and learn better.
Do I recommend the course? Yes; I did the course twice, and I cannot recommend it enough. The course is suitable whether you are a beginner or an intermediate developer.
Learn Node by Wes Bos
From all the Node.js courses, the best-looking application you are going to build is in Wes Bos's course. The design of the application is catchy, beautiful and professional.
However, I want to mention I had troubles following the course in the beginning when I had no Node.js knowledge. I had to postpone it and follow another course to learn the basics. The course feels advanced, and there are other courses more suited for complete beginners. Though, keep in mind that this is my experience, and it might not be right for you.
Now let's see what this course covers, and you learn by following it. You learn how to:
- Implement CRUD operations.
- Implement REST API points.
- Use the MVC pattern for your application.
- Add routing and pagination.
- Implement file uploading.
- Set up a templating engine like Pug.
- Deploy to production, on various providers.
- Send emails to users.
- Storing data in a MongoDB database, and manipulating that data.
- Implement authentication and authorization.
As with the other courses, these are just some of the topics. The course covers a lot more topics, which you can find learnnode.com.
Do I recommend the course? Yes. It's a great course where you learn a ton of concepts by building a real-world application. The only blocker might be that it's a paid course. Otherwise, it's an all-around great course.
NodeJS - The Complete Guide by Maximilian Schwarzmüller
This Node.js course is a little bit different in the sense that it covers more topics than just Node.js and Express. Even though the focus is on these two technologies, you learn others too. For instance, it teaches TypeScript and Deno, which is a bonus. You get more than you paid for.
Besides the usual Node.js and Express concepts you learn, which are taught in the other courses too, you also learn:
- To use SQL with Node.js and Express.
- Advanced authentication and testing.
- What GraphQL is and how to use it.
- How to add Stripe payments.
As usual, these are not the only subjects. However, these are the concepts that differentiate the course from other courses. You get all the regular information about Node.js and Express, plus these other concepts and technologies.
The verdict? The course is worth its money. It goes well-beyond Node.js and Express, and it teaches you other cool and useful concepts and technologies. You can check the course here.
These are the top five Node.js/Express courses I recommend. They can take you from no knowledge to an advanced level. Of course, I have to mention that these are not the only ones. Also, they are the top five based on my experience.
I recommend all courses from this article because you cannot go wrong with any of them. However, if you have more suggestions, feel free to leave them in the comments. I would like to see more good courses.