A real-time chat application built with the MERN stack (MongoDB, Express, React, Node.js), featuring user authentication, private and group messaging.
- Real-Time Messaging: Instant communication using socket.io.
- User Authentication: Secure login and registration with JWT.
- Private and Group Chats: Support for both private and group conversations.
- Responsive Design: Works seamlessly on all devices.
- User Profiles: profiles with avatars.
- Message Notifications: Real-time notifications for new messages.
- Frontend: React.js, Zustand (Global state management), TailwindCSS + Daisy UI
- Backend: Node.js, Express.js, Authorization with JWT
- Database: MongoDB (using MongoDB Atlas)
- Real-Time Communication: Socket.io
- Node.js and npm installed
- MongoDB Atlas account and cluster set up
-
Clone the repository:
git clone https://github.com/yourusername/mern-chat-app.git cd mern-chat-app
-
Install dependencies::
npm install cd frontend npm install
-
Set up environment variables:
PORT=5000 MONGO_DB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret SOCKET_PORT=your_socket_port NODE_ENV=development
-
Run the application::
npm run server cd frontend npm run dev
We welcome contributions to improve the MERN Chat App. To contribute, please fork the repository and create a pull request with your changes. Ensure your code follows the project's coding standards and is well-documented.
This project is licensed under the MIT License. See the LICENSE file for details.