BubbleChat is a real-time chat application that enables users to communicate instantly through a sleek and intuitive interface. Built with a modern tech stack, it offers seamless messaging capabilities, making it ideal for both personal and group conversations.
- Real-Time Messaging: Instantaneous communication between users.
- User-Friendly Interface: Clean and responsive design for optimal user experience.
- Scalable Architecture: Modular codebase for easy scalability and maintenance.
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Real-Time Communication: Socket.IO
- Database: MongoDB (via Mongoose)
- Authentication: JWT (JSON Web Tokens)
- Node.js and npm installed on your machine.
- MongoDB instance running locally or remotely.
-
Clone the repository:
git clone https://github.com/NavvAbhishek/BubbleChat.git cd BubbleChat -
Install backend dependencies:
cd backend npm install -
Install frontend dependencies:
cd frontend npm install -
Configure environment variables:
Create a
.envfile in thebackenddirectory with the following content:
MONGODB_URI=
PORT=
JWT_SECRET=
NODE_ENV=
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=-
Start the backend server:
cd backend npm run dev -
Start the frontend:
cd frontend npm run devThe application will be available at
http://localhost:3000.
- Register: Create a new account by providing a username and password.
- Login: Access your account using your credentials.
- Chat: Start real-time conversations with other registered users.
BubbleChat/
├── backend/
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── .env
│ ├── server.js
│ └── package.json
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── App.js
│ │ └── index.js
│ └── package.json
└── README.md
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature/YourFeature - Commit your changes:
git commit -m 'Add YourFeature' - Push to the branch:
git push origin feature/YourFeature - Open a pull request.
This project is licensed under the MIT License.