Build a complete web chat application with Node.js and React

Learn how to build a chat application using Node.js and React with Web Sockets, PostgreSQL, Redux and much more.

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.

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.

Course Content

  • Installing and configuring Node and setting up Database –> 9 lectures • 25min.
  • Creating user model, migration, and seeder –> 4 lectures • 12min.
  • Refactoring node router and adding Authentication –> 7 lectures • 38min.
  • Creating react application and setting project structure –> 2 lectures • 4min.
  • Creating Auth components and authentication user –> 9 lectures • 42min.
  • Adding Redux and working on Auth features –> 8 lectures • 35min.
  • Creating chat navbar and updating user profile –> 15 lectures • 1hr 37min.
  • Creating chat models and Controller –> 8 lectures • 49min.
  • Creating chat components –> 8 lectures • 1hr 2min.
  • Implementing Web Sockets –> 9 lectures • 49min.

Build a complete web chat application with Node.js and React

Requirements

  • Basic understanding of Javascript (functions, callbacks, objects, promises, ES6+).
  • Some familiarity with Node and React.

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.

 

  1. 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.

     

  2. 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. 
  3. 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 
  4. Custom file upload
    • You will learn how to upload files with multer, generate a custom upload folder, and perform file validation before upload. 
  5. 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. 
  6. 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. 
  7. 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.