What you'll learn:
- Modularize Node project
- Create models. migrations, seeders in postgreSQL with Sequelize
- Backend and Frontend Authentication system
- Achieve real-time communication with Web Sockets
- React, Redux, React Router Dom
- Custom image upload with Node
By enrolling and finishing this course you will know how to build a full real-time web chat application. We will go together, through every step of the way, so it is not a limiting factor if you don’t have much experience with all of the technologies that we are going to use.
Here are, summarized, some of the things you will learn throughout this course.
Install Node and create a simple project structure
You will learn how to initialize a new npm project. Enable node watcher and project hot reload where changes are automatically applied. Set project environmental variables, configuration files, and dynamic project structure.
Install PostgreSQL and general database management
You will learn how to install PostgreSQL alongside pgAdmin (database management tool). You will also learn how to use sequelize (Object Relational Mapping) for creating models, tables, seeders, and performing SQL queries.
Create Node authentication with JWT tokens
You will learn how to hash user passwords, generate JSON web tokens, create auth middleware, and control how users can consume your API.
You will also learn how to create custom form request validators for handling user input
Custom file upload
You will learn how to upload files with multer, generate a custom upload folder, and perform file validation before upload.
Create new React application with Redux and Router
You will learn how to create a new React application. Add Redux for state management and Router for application navigation.
You will learn how to create async store actions and properly update state inside reducers
You will learn how to create Protected Routes, create Axios base configuration, and use services Axios calls.
Implement Web Sockets
You will learn how to implement sockets in Node and also in React application. How to achieve real-time communication, emit, and listen to events between server and client.
You will have fun
You will have a fun time learning so many different things at the same time. Although it can sometimes be a bit overwhelming, you will enjoy the challenges of learning something cool and popular in today's real-time world.