/rtca-dbms

Primary LanguageJavaScriptMIT LicenseMIT

StreaX Messages

Real Time Chat Application

It is a real time chat application with personal and group chatting.It supports sending text messages and pictures. Based on the ideology of Slack, users can create and join multiple groups - this helps to keep common stuff separate among concerned users. It uses JS Sockets for real time communication among users.It also has push notifications on new messages.

Hosted on http://dbms.vasusharma.me/


Members

  • Vasu Sharma - 111803127
  • Vasvi Gupta - 111803128

This is Database Management System Course Project

Tech Stack Used

  • React for Frontend
  • Javascript Sockeyts for real time communication
  • Express framework for backend
  • MySQL database
  • Hosted on AWS

Features

  • Make Groups
  • Send group or personal messages
  • send pictures
  • emojis also supported
  • users can join multiple groups and hence keep separate groups for different works.

Requirements

  • NodeJS v12.8.1
  • npm package manager v6.14.8
  • MySQL Ver 8.0.22

Installation Guide

  • Download the zip file and extract it.
  • Go to the rtca-dbms-master folder and open the terminal(Terminal 1) in it.
  • Run the following command to install all dependencies:

npm install

  • To setup the database in MySQL, run the following command in the terminal

mysql < main.sql

  • Go to the rtca-dbms-master/backend folder and open the terminal(Terminal 2) in it.

To install all the backend dependencies, run the following command in terminal - npm install

  • Run the following command to run the server:

node index.js

  • Go to Terminal 1 and run the following command to start the app:

npm start

  • For multiple users, open multiple terminals just like Terminal 1 and run the command npm start

How it is different from other chat applications ?

  • You can make different groups for family/work. You can be a part of different groups at the same time. Based on ideology of Slack.
  • Users in a group can interact with personal messages as well as have a group chat
  • Having a different groups for different purposes helps to keep things organised.