ShadowChat is a real-time MERN Stack chat application designed for secure and seamless communication. Built using modern web technologies, it provides an intuitive user experience with collaborative code rooms and AI generated smart replies.
- 🟢 Real-time Messaging - Chat with users instantly.
- 🤖 Smart Replies (powered by Google Gemini) – Suggests smart responses to keep conversations flowing smoothly.
- 🎨 User-Friendly Interface - Minimalistic and easy to navigate.
- 📂 Media Support - Send and receive images.
- 🌍 Online Status - See when users are active.
- 🔐 Role Based Access - Admins have access to daily stats.
- 👥 Collaborative Code Rooms - Code rooms which different users can join and code together in real-time.
- Frontend: React.js, Tailwind CSS, Daisy UI
- Backend: Node.js, Express.js
- Database: MongoDB
- Caching: Redis
- Real-time Communication and Code Rooms: Socket.io
- Deployment: Render
- Node.js (v16 or later)
- MongoDB (local or cloud instance)
-
Clone the Repository
git clone https://github.com/Luv-valecha/ShadowChat.git cd ShadowChat -
Install Dependencies
npm install
-
Set Up Environment Variables Create a
.envfile in the root directory and configure the following:MONGO_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret SOCKET_PORT=5000
-
Run the Server
npm run server
-
Run the Frontend
cd client npm start
- Sign up or log in to your account.
- Start a conversation with friends.
- Enjoy real-time chat!
The application is deployed on Render.
The Project Report is uploaded in the github: Project_Report
- Fork the repository.
- Create a new branch:
git checkout -b feature-branch - Commit your changes:
git commit -m 'Add new feature' - Push to the branch:
git push origin feature-branch - Submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For any issues or suggestions, feel free to contact Luv Valecha, Dheeraj Kumar or Arafat Ahmad Sheikh.