Gossip Hub is a Real-time Chat Application that allows users to connect, chat, and discuss in predefined channels related to technology topics like Artificial Intelligence, Blockchain, Machine Learning, and Distributed Systems.
- User Authentication: Users are prompted to enter their username upon connection.
- Channel Selection: Users can join predefined channels to discuss specific technology topics.
- Real-time Messaging: Users can send and receive messages in real-time within their selected channel.
- Chat History: Messages are stored in MongoDB, allowing users to retrieve and view the chat history upon connecting to a channel.
- User Notifications: New user entries and welcome messages are broadcasted to all connected users in the channel.
- Technology Stack: MongoDB, Mongoose, Node.js, Express, React.js, Socket.io.
-
Clone the Repository:
git clone https://github.com/10kartik/Gossip-Hub.git cd gossip-hub
-
Install Dependencies:
cd backend npm install cd ../frontend npm install
-
Set Up MongoDB:
- Ensure MongoDB is installed and running.
- Set MongoDB URI under process environment variables with name "MONGODB_CONNECTION_STRING".
-
Run the Application:
# Run the server cd backend npm run dev # Run the client cd ../frontend npm start
-
Open in Browser:
Open http://localhost:3000 in your browser.
-
Enter Username:
- Upon connection, users will be prompted to enter their username.
-
Select Channel:
- Users can join one of the predefined channels to start chatting.
-
Real-time Chatting:
- Users can send and receive messages in real-time within the selected channel.
-
Chat History:
- Chat history is stored in MongoDB and retrieved when users connect to a channel.
Contributions are welcome! If you have suggestions, feature requests, or find a bug, please open an issue or submit a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.