
Let's go over the things that we will do in this chapter.
In this lecture, we will install node.
In this lecture, we will install npm and create our project.
In this lecture, we will install express web framework and create a basic server.
In this lecture, we will install nodemon. Nodemon is a small tool that will immensely help us during development. It automatically restarts node application when it detects any file or folder changes.
Let's go over the things that we will do in this chapter.
In this lecture, we will create a custom server class to bootstrap our application code.
In this lecture, we will create a router class and a routes schema for easier route management.
In this lecture, we will take care of returning 404 pages when certain resources cannot be found.
In this lecture, we will create a controller class to perform the logic behind the route.
Let's go over the things that we will do in this chapter.
In this lecture, we will configure and install Sequelize.
In this lecture, we will create our user model and seed some data in the database.
Let's go over the things that we will do in this chapter.
In this lecture, we will start working on login and register flow.
In this lecture, we will take a look into how to catch and handle app-level errors.
In this lecture, we will create a custom exception class.
In this lecture, we will implement user password hashing flow.
In this lecture, we will create an access token for the user.
Let's go over the things that we will do in this chapter.
In this lecture, we will learn the concept of repositories and create our first repository.
In this lecture, we will create a custom exception that is thrown whenever a certain record is not found.
In this lecture, we will take a look at how to extract business logic from controllers into custom service classes.
In this lecture, we will create a Tokenizer class that will generate access and refresh tokens.
In this lecture, we will create a refresh token for the user.
Let's go over the things that we will do in this chapter.
In this lecture, we will create a product route and controller.
In this lecture, we will create a auth middleware that only allows authenticated users to pass further.
In this lecture, we will complete the user registration flow.
Let's go over the things that we will do in this chapter.
In this lecture, we will implement login method form validation.
In this lecture, we will implement register method form validation.
Let's go over the things that we will do in this chapter.
In this lecture, we will send a basic version of email verification.
In this lecture, we will create a custom mailer module.
In this lecture, we will take a look at how to render HTML pages.
In this lecture, we will add partials to our views for various reusable components.
Let's go over the things that we will do in this chapter.
In this lecture, we will create a scheduler module that can execute scheduled tasks.
In this lecture, we will create a logger that can persist app-level error or info logs into a daily file.
In this lecture, we will create an API to get all log dates.
In this lecture, we will create an API to get all log messages for a specific date.
Let's go over the things that we will do in this chapter.
In this lecture, we will hide user password from responses and take a look into this keyword bug.
In this lecture, we will take a look at how to disable Sequelize terminal logging.
In this lecture, we will take a look at how to differentiate when to return HTML response and when to return JSON response.
In this lecture, we will check the application env before processing error responses.
By enrolling and finishing this course you will learn more about structuring and organizing your Node application. Throughout the course, we will be building a custom MVC-like structure and adding various coding patterns along the way.
This course is aimed at students who have at least some experience with Node or have built applications with other backend languages as we are not covering any of the programming or Node-related basics.
You can pick some other Node beginner course and then come back later here to learn some more advanced architectural approaches.
Here are, summarized, some of the things you will learn throughout this course.
Custom server and router class
You will learn how to create a custom and configurable server and router class that will bootstrap all of the code dependencies necessary to run your application.
We will create a schema-based routing system for easy management of app routes.
Models, Controllers, Repositories, Services
We will start working on our MVC pattern and try to logically separate code responsibilities within our application.
We will take a look at how repositories and services can be utilized to outsource some of our SQL and business logic.
Middleware and Validation
You will learn how to create middleware and limit some of your routes to only auth users.
We will also take a look at how to perform form validation when users are submitting data.
We will implement custom file parsing when users are uploading documents with form data.
Sending emails
We will implement a custom and configurable mailer module.
Scheduled functions CRON
We will take a look at how to create a scheduler that will execute some tasks based on predefined time intervals.
Logger
Logging is very important for looking at the state of your running application. That is why we will create a custom logger and expose some API to get application-level logs.
Implementing WebSockets
We will implement WebSockets into our app to facilitate real-time operations.