ChatterBox is not just your ordinary chat application; it's an immersive, real-time communication platform designed to elevate your chatting experience. Built on the powerful MERN stack (MongoDB, Express.js, React, Node.js), ChatterBox integrates seamlessly with Socket.IO for lightning-fast WebSocket communication, ensuring instant messaging between users.
ChatterBox provides a rich and secure real-time communication experience:
- 🚀 Real-Time Messaging: Engage in instant conversations with friends and peers, all in real-time, powered by WebSockets.
- 🔒 Secure User Authentication: Rest assured knowing your chats are protected by a robust authentication and authorization system.
- 📱 Responsive Design: Whether you're on a desktop or mobile device, ChatterBox adapts effortlessly to provide a consistent and intuitive user experience.
- 🎨 Customizable Profiles: Personalize your profile to reflect your unique personality and style.
ChatterBox is a full-stack application leveraging the power of the MERN stack and WebSocket technology:
- Frontend:
- Backend:
- Database:
- Language:
- Tools & Platforms:
Follow these steps to set up and run ChatterBox locally for development and testing.
Ensure you have the following installed on your system:
Node.js: v16+ (LTS recommended)npm: v8+ (comes with Node.js)MongoDB: A running instance of MongoDB (local or cloud-hosted)
- Clone the repository:
git clone [https://github.com/manirht/ChatterBox.git](https://github.com/manirht/ChatterBox.git)
- Navigate to the project directory:
cd ChatterBoxn # Based on the clone URL, the folder will likely be 'ChatterBox'
- Install dependencies:
npm install # If frontend and backend are separate, you might need to do: # cd frontend && npm install && cd ../backend && npm install
- Set up environment variables:
- Create a
.envfile in the root directory (or specific frontend/backend directories if structured separately). - Define the following variables:
PORT=3000 MONGODB_URI=your_mongodb_uri JWT_SECRET=your_jwt_secret_key
- Create a
- Command:
(Note: This assumes
npm run dev
npm run devscript handles both frontend and backend startup, or you might need separate commands likenpm startfor each part if they are in different sub-directories.)
- Once the application is running, open your web browser and navigate to
http://localhost:3000(or your specified port). - Sign up for a new account or log in if you already have one.
- Start chatting with other users in real-time!
We're constantly looking to improve ChatterBox! Here are some planned features and enhancements:
- 🖼️ Image & File Sharing: Implement functionality for sending images and other files in chats.
- 🔔 Notifications: Add real-time notifications for new messages or mentions.
- 🔍 Message Search: Enable users to search through their chat history.
- 👥 Group Chat Features: Enhance group chat capabilities (e.g., admin roles, member lists).
- 📞 Voice/Video Calls: Explore integration for direct communication.
- ☁️ Deployment Automation: Set up CI/CD pipelines for automated deployment.
Contributions are welcome! If you have any suggestions or improvements, feel free to open an issue or create a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Rohit Mani - manirohit221004@gmail.com
Project Link: https://github.com/manirht/ChatterBox.git
Coded with 💙 by Mani Rohit