A full-stack Realtime Chat Application built with the MERN stack (MongoDB, Express.js, React.js, Node.js) and Socket.io for seamless, real-time messaging. The app features user authentication, real-time communication, and a fully responsive UI optimized for both desktop and mobile devices.
🌍 Live Demo - https://chat-app-smr.onrender.com/
- 🔒 JWT-based user authentication
- 🧠 Global state management using Zustand
- 💬 Real-time chat updates via Socket.io
- 🖼️ Cloudinary integration for profile image uploads
- ☁️ Responsive and mobile-friendly UI with DaisyUI
- 🔔 Instant notifications with react-hot-toast
- 🛠️ RESTful API with Express & MongoDB
- 🔄 Persistent login using cookies
- 🌐 Modern routing with React Router DOM v7
- 🌙 Light/Dark theme support via DaisyUI themes
- React.js v19
- Zustand – State management
- DaisyUI + Tailwind CSS – UI components & styling
- React Router DOM v7
- Axios – API communication
- Socket.io-client – Real-time events
- Lucide-react – Icon library
- React-hot-toast – Notifications
- Node.js & Express.js v5
- MongoDB with Mongoose
- Socket.io v4.8.1
- JWT – Authentication
- Bcrypt.js – Password hashing
- Cloudinary – Media uploads
- Cookie-parser – Session handling
- CORS & dotenv – Configuration
To get started follow these steps:
Using CLI
git clone https://github.com/smRid/Real-time-Chat-App.git**Ensure you have installed Git on your machine.
or using GitHub:
- Go to the project repository on my GitHub page
- Click on the green button on the top 👆
- Click Download ZIP
MONGODB_URI=...
PORT=5001
JWT_SECRET=...
CLOUDINARY_CLOUD_NAME=...
CLOUDINARY_API_KEY=...
CLOUDINARY_API_SECRET=...
NODE_ENV=developmentInstall the project dependencies using npm:
npm run build**Ensure you have installed NodeJS on your machine.
npm run start**Navigate to http://localhost:5001 in your browser to access the local development server.
