Skip to content

A real-time chat application designed for seamless bidirectional communication and robust chatroom management.

Notifications You must be signed in to change notification settings

manirht/ChatterBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ChatterBox 💬🚀

Real-Time Chat Application


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.


🔗 Quick Access

GitHub Repository License


✨ Core Features

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.

🛠️ Tech Stack & Architecture

ChatterBox is a full-stack application leveraging the power of the MERN stack and WebSocket technology:

  • Frontend:
    • React.js React
    • Socket.IO Client Socket.IO
    • Sass Sass
    • HTML/CSS
  • Backend:
    • Node.js Node.js
    • Express.js Express.js
    • Socket.IO Socket.IO
  • Database:
    • MongoDB MongoDB
  • Language:
    • JavaScript JavaScript
  • Tools & Platforms:
    • Git Git
    • GitHub GitHub

🚀 Getting Started

Follow these steps to set up and run ChatterBox locally for development and testing.

Prerequisites

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)

Installation

  1. Clone the repository:
    git clone [https://github.com/manirht/ChatterBox.git](https://github.com/manirht/ChatterBox.git)
  2. Navigate to the project directory:
    cd ChatterBoxn # Based on the clone URL, the folder will likely be 'ChatterBox'
  3. Install dependencies:
    npm install
    # If frontend and backend are separate, you might need to do:
    # cd frontend && npm install && cd ../backend && npm install
  4. Set up environment variables:
    • Create a .env file 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
      

Running the Application

  • Command:
    npm run dev
    (Note: This assumes npm run dev script handles both frontend and backend startup, or you might need separate commands like npm start for each part if they are in different sub-directories.)

Usage

  • 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!

🛣️ Roadmap & Future Enhancements

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.

🤝 Contributing

Contributions are welcome! If you have any suggestions or improvements, feel free to open an issue or create a pull request.


📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


📞 Contact

Rohit Mani - manirohit221004@gmail.com

Project Link: https://github.com/manirht/ChatterBox.git


Coded with 💙 by Mani Rohit

About

A real-time chat application designed for seamless bidirectional communication and robust chatroom management.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published