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

Mastering Node.js 12.x

Video Description

Take advantage of the best Node.js 12 features to develop fast and scalable web APIs

About This Video

  • Build fast APIs with Node.js 12, Express.js and Authentication with Passport
  • Connect to MySQL and cache responses with Redis
  • Improve performance and readability with functional reactive programming

In Detail

Node.js is a technology that you can quickly become familiar with, but it can be hard to master to build fast and secure solutions. Instead of covering the basics, this course will help you to progress to understand advanced concepts such as asynchronicity, the event loop, clean error handling with Express Middleware and functional reactive programming.

You will start off by working through the process of creating a subscription management system, where you will optimize directory structures. This will help you with the organization, as Node.js apps usually don’t follow filename and directory conventions. As you delve deeper into the course, you’ll learn how to build an API in the form of microservices, managed through PM2. As you progress, you will connect and utilize two of the most widely used technologies in the Node.js World; MySQL, the most commonly used relational database, and Redis, a popular technology used in caching. Once you’ve built a solid infrastructure, you’ll be able to build an authentication service with the help of Passport and JSON Web Tokens.

By the end of this course, you will be able to tackle harder challenges in your Node.js projects by efficiently using the best tools available, while also meeting demanding industry standards for a clean and scalable code.

The code bundle for this video course is available at https://github.com/PacktPublishing/Mastering-Node.js-11.x

Table of Contents

  1. Chapter 1 : The Node.js Concurrency Model
    1. The Course Overview 00:02:32
    2. The Event Loop 00:08:23
    3. Mastering Promises 00:17:11
    4. Using Util.promisify 00:03:01
    5. Learning async/await 00:04:26
  2. Chapter 2 : Functional Reactive Programming
    1. Introduction to Functional Programming 00:03:31
    2. Replacing for Loops with forEach 00:07:17
    3. Filtering Arrays 00:03:33
    4. Map and Reduce 00:05:30
    5. Introduction to Streams with RxJS 00:06:22
    6. Working with Observables 00:12:56
  3. Chapter 3 : Mastering Express.js
    1. Creating a Controller with Express.Router 00:10:08
    2. Creating a Service 00:06:12
    3. Essential Middleware 00:06:36
    4. Model Validation 00:14:01
    5. Handling and Reporting Errors 00:10:52
  4. Chapter 4 : Connecting to MySQL
    1. Install and run MySQL 00:03:37
    2. Installing Sequelize 00:04:59
    3. Creating Sequelize Models 00:02:54
    4. Utilizing Migrations 00:04:21
    5. Finishing the Service 00:07:35
  5. Chapter 5 : Node.js Microservices with PM2
    1. The Database per Service Pattern 00:03:44
    2. Managing Processes with PM2 00:20:44
    3. Communicating using REST 00:03:36
    4. Communicating using AMQP 00:16:36
    5. CQRS and Event Sourcing 00:04:33
    6. Designing an API Gateway 00:08:19
  6. Chapter 6 : Authentication
    1. Creating a User Model 00:05:29
    2. Password Hashing 00:02:10
    3. Introduction to JSON Web Tokens 00:05:51
    4. The Sign-Up Endpoint 00:03:12
    5. The Sign-In Endpoint 00:07:37
    6. Installing Passport 00:02:22
    7. Authentication Middleware 00:08:38
  7. Chapter 7 : Caching with Redis
    1. Introduction to Redis 00:01:36
    2. Connecting to Redis 00:04:27
    3. Creating a Caching Service 00:07:46
    4. Invalidating the Cache 00:04:34