A full-stack real-time chat application built using the MERN stack (MongoDB, Express.js, React, Node.js). This project showcases how to build a modern, responsive messaging platform with real-time capabilities using Socket.io.
- ✅ Real-time chat with Socket.io
- 👨💼 User authentication (JWT-based)
- 🗂️ Private and group messaging
- 🖼️ Image/file upload support (optional with Cloudinary)
- 📱 Responsive UI for mobile and desktop
- 🟢 Online user status indicator
- React
- Zustand (for global state)
- Tailwind CSS + DaisyUI
- Axios
- Node.js
- Express.js
- MongoDB (Mongoose)
- Socket.io
- JWT (Authentication)
- Cloudinary (for image uploads - optional)
- Dotenv (for environment configs)
- Node.js
- MongoDB (Local or MongoDB Atlas)
- npm or yarn
-
Clone the repository
git clone https://github.com/yourusername/mern-chat-app.git cd mern-chat-app -
Install backend & frontend dependencies
cd mern-chat-app npm install cd client npm install
-
Set up environment variables Create a .env file in the root directory:
MONGO_URI=your_mongodb_uri JWT_SECRET=your_secret_key CLOUDINARY_URL=optional_if_used
4.Start the development server
```bash
# From root
npm run dev
🌟 Highlights 🌐 MERN + Socket.io + TailwindCSS + DaisyUI
🔐 JWT-based authentication and authorization
💬 Real-time messaging with Socket.io
🟢 Online user status
⚙️ Zustand for global state management
🐞 Error handling on both server and client



