Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/10kartik/gossip-hub
Chatting platform where techies gossip about hot topics and domains.
https://github.com/10kartik/gossip-hub
expressjs mongodb mongoose nodejs reactjs socket-programming
Last synced: about 1 month ago
JSON representation
Chatting platform where techies gossip about hot topics and domains.
- Host: GitHub
- URL: https://github.com/10kartik/gossip-hub
- Owner: 10kartik
- License: mit
- Created: 2024-01-20T00:16:02.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2024-05-15T02:57:00.000Z (6 months ago)
- Last Synced: 2024-05-16T15:49:18.696Z (6 months ago)
- Topics: expressjs, mongodb, mongoose, nodejs, reactjs, socket-programming
- Language: JavaScript
- Homepage: https://gossip-hub.vercel.app
- Size: 427 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Gossip Hub - Real-time Chat Application
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.
## Features
- **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.## Getting Started
1. **Clone the Repository:**
```bash
git clone https://github.com/10kartik/Gossip-Hub.git
cd gossip-hub
```2. **Install Dependencies:**
```bash
cd backend
npm installcd ../frontend
npm install
```3. **Set Up MongoDB:**
- Ensure MongoDB is installed and running.
- Set MongoDB URI under process environment variables with name "MONGODB_CONNECTION_STRING".4. **Run the Application:**
```bash
# Run the server
cd backend
npm run dev# Run the client
cd ../frontend
npm start
```5. **Open in Browser:**
Open [http://localhost:3000](http://localhost:3000) in your browser.
## Usage
1. **Enter Username:**
- Upon connection, users will be prompted to enter their username.2. **Select Channel:**
- Users can join one of the predefined channels to start chatting.3. **Real-time Chatting:**
- Users can send and receive messages in real-time within the selected channel.4. **Chat History:**
- Chat history is stored in MongoDB and retrieved when users connect to a channel.## Contributing
Contributions are welcome! If you have suggestions, feature requests, or find a bug, please open an issue or submit a pull request.
## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.