Skip to content

A Web-based application that allows users to engage in instant messaging and have real-time conversations. Built using modern web technologies such as React, Express, and Firebase, this chat app provides a seamless and interactive communication experience.

Notifications You must be signed in to change notification settings

harisankar01/Chat-Application

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

React Express.js Google Cloud Firebase MySQL JWT

This is a real-time chat application built with React and ExpressJS. Firebase is used for authentication and real-time database, and Cloudinary is used for storing user profile images. JWT is used for security and token verification.

Features

  • Real time chating.
  • User registration and authentication with Firebase Google Authentication.
  • Google cloud SQL storage for storing messages and user details
  • Real-time messaging between registered users using Firebase Real-Time Database.
  • Cloudinary image storage for user profile pictures.
  • JWT-based security with Firebase token verification.

Technologies Used

  • React
  • ExpressJS
  • Firebase
  • Cloudinary
  • MySQL

Installation

The project is split into, the public folder is the frontend of the application build using react and the server folder is the backend of the application build using nodejs. See the respective folders for installation and local development informations.

Usage

  • Register a new user account with a Google account using Firebase Google Authentication
  • Login with the registered account
  • Upload a profile picture or select an avatar from Multiavatar API
  • Start chatting with other registered users in real-time

Security

JWT-based security is provided throughout the application with Firebase token verification. Each user has a unique token that is generated by Firebase upon registration. This token is used to authenticate the user on each request made to the server. Any request that does not have a valid token is rejected by the server.

Database

Google MySQL instance is used as the database for the chat application. The messages between the users are stored in Firebase Real-Time Database.

Image Storage

Cloudinary is used to store user profile pictures. Users can either upload their own pictures or select an avatar from Multiavatar API.

Screenshots

Login Page

login page

SetAvatar Page

select_profile_image

ChatWelcome Page

chat welcome

Chat Page

chat

About

A Web-based application that allows users to engage in instant messaging and have real-time conversations. Built using modern web technologies such as React, Express, and Firebase, this chat app provides a seamless and interactive communication experience.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published