Article image

BUILD A COMPLETE WEB CHAT APPLICATION WITH NODE.JS AND REACT

Javascript -

Nov 12 2020

Dino Numic

I want to present you a course that I have been working on for the last couple of months. Through this course, you will learn how to build a complete web chat application. I used Node as backend and React as frontend language. Both are massively popular and widely adopted in the community. In this course I also used PostgreSQL, Sequelize, Redux, React Router, Web Sockets.

This is not your typical Web Socket and Firebase tutorial. We take a deep dive, 10 hours long, into the development of a well organized and clean application.

More about the course here.

Some of the things that you can 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.

More about the course here.