Skip to content

A multi-user messaging system . The backend of this application is hosted on Render's free tier, which means the live backend may go inactive if it hasn't been accessed for a while

Notifications You must be signed in to change notification settings

sem22-dev/Realtime-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Multi-User Messaging System

A multi-user messaging system using the following technologies:

  • Frontend: React (Vite) with Tailwind CSS
  • Backend: Node.js with Express
  • Database: PostgreSQL with Drizzle ORM
  • Real-time Communication: Socket.IO

Features

  1. Real-time messaging between users
  2. Online/offline status for users
  3. “Typing…” indicator while chatting
  4. Read/unread message sorting system
  5. Image and video upload feature
  6. Infinite scrolling of messages to the top

Prerequisites

  • Node.js (v14 or later)
  • PostgreSQL (v12 or later)
  • npm
  • Git

Installation

1. Clone the repository

git clone https://github.com/sem22-dev/hiryChat.git

2. Setup the Backend

cd backend
npm install
cd src
  • Configure the environment variables:

  • Create a .env file in the backend directory.

  • Add the following variables:

    DATABASE_URL=your_postgres_connection_string
    JWT_SECRET=your_jwt_secret_key
    GMAIL_USER=
    GMAIL_APP_PASSWORD=
  • Run database migrations:
    npx drizzle-kit generate 
    npx drizzle-kit migrate
    npx drizzle-kit push
  • Run backend:
    cd src
    npx tsx server.ts

3. Setup the Frontend

    cd frontend
    npm install
  • Start the frontend:
   npm run dev

About

A multi-user messaging system . The backend of this application is hosted on Render's free tier, which means the live backend may go inactive if it hasn't been accessed for a while

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published