Skip to content

amin4554/Chat-app-React-Socket.IO

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚡ Real-Time Chat App

A full-stack real-time chat application built with React, Socket.IO, Express.js, and MongoDB. Features include:

  • ✅ Real-time private messaging
  • ✅ Message delivery and read receipts
  • ✅ Friend request system
  • ✅ Typing indicators
  • ✅ Responsive modern UI
  • ✅ Grouped messages by date
  • ✅ User login and signup

Screenshots:

Screenshot 2025-07-03 222324

Screenshot 2025-07-03 222505

Screenshot 2025-07-03 222710

🚀 Tech Stack

Frontend

  • React
  • Axios
  • Socket.IO Client

Backend

  • Node.js / Express
  • Socket.IO
  • MongoDB with Mongoose

🧠 Features

  • Real-time Communication: Powered by WebSockets via Socket.IO
  • Friend Requests: With live updates and automatic chat start after acceptance
  • Typing Indicators: Shows when a user is typing in real-time
  • Grouped Messages: Chat messages are grouped by "Today", "Yesterday", or full date
  • Modern UI: WhatsApp-style, mobile-responsive design
  • Signup/Login :

📦 Installation

1. Clone the repository

git clone https://github.com/amin4554/Chat-app-React-Socket.IO.git

2. Install dependencies

Backend:

cd server
npm install

Frontend:

cd ../client
npm install

⚙️ Environment Variables

Create a .env file inside the server/ directory:

PORT=5000
MONGO_URI=your-mongodb-connection-string

🧪 Run Locally

Start the backend:

cd server
npm start

Start the frontend:

cd ../client
npm start

Then visit: http://localhost:3000


📂 Project Structure

chat-app/
├── client/          # React frontend
│   ├── components/
│   ├── App.js
│   └── ...
├── server/          # Express backend
│   ├── routes/
│   ├── models/
│   ├── index.js
│   └── ...
└── README.md

About

A full-stack real-time chat app using React, Socket.IO, Express, and MongoDB.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors