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
Frontend
- React
- Axios
- Socket.IO Client
Backend
- Node.js / Express
- Socket.IO
- MongoDB with Mongoose
- 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 :
git clone https://github.com/amin4554/Chat-app-React-Socket.IO.gitBackend:
cd server
npm installFrontend:
cd ../client
npm installCreate a .env file inside the server/ directory:
PORT=5000
MONGO_URI=your-mongodb-connection-stringcd server
npm startcd ../client
npm startThen visit: http://localhost:3000
chat-app/
├── client/ # React frontend
│ ├── components/
│ ├── App.js
│ └── ...
├── server/ # Express backend
│ ├── routes/
│ ├── models/
│ ├── index.js
│ └── ...
└── README.md


