Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Node.js and React: Build a complete web chat application
Rating: 4.3 out of 5(271 ratings)
13,509 students

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

Learn how to build a chat application using Node.js and React with Web Sockets, PostgreSQL, Redux and much more.
Created byDino Numić
Last updated 11/2020
English
English [Auto],

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

14 sections103 lectures9h 33m total length
  • Chapter Introduction0:23

    Let's go over the things that we will do in this chapter.

  • Installing node and npm1:42

    In this lecture, we will install node and npm from the official website.

  • Creating node project1:32

    In this lecture, we will learn how to create a new project with npm.  Here we will create our node chat project.

  • Installing express2:35

    In this lecture, we will install express web framework. You will learn how to create an HTTP server in node.

  • Installing nodemon1:58

    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.

  • Resolve visual studio code access rights problems when executing commands0:58

    In case that you have access rights problems while installing anything inside Visual Studio Code we will fix it in this lecture.

  • Creating env and config files5:01

    In this lecture, we will create .env (environmental variables) file and a dedicated config folder. You will learn what are environmental variables and why to use them. You will learn how to set global configuration for your project in terms of app URL, ports, API keys, and so on.

  • Creating basic project structure1:50

    In this lecture, we will create a modular structure for our project. With proper project structure, we can achieve better maintainability and durability and also achieve better code logic and concern separation.

  • Installing PostgreSQL, pgAdmin, and Sequelize9:26

    In this lecture, we will install PostgreSQL as our database. You will learn how to create a new database with pgAdmin and preview what you have inside. We will also install sequelize ORM (Object Relational Mapping) and add custom configuration to it.

Requirements

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

Description

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.


Who this course is for:

  • Developers interested in creating real-time applications