Welcome to ChatHub—a real-time, feature-rich chat application that makes staying connected easier and more interactive! Powered by Socket.io and React, this chat room app enables seamless communication with a smooth, user-friendly interface. Perfect for both casual and professional uses, ChatHub is designed to provide a dynamic messaging experience.
- Real-Time Messaging: Instantly send and receive messages using WebSockets.
- Room-Based Chat: Join or create rooms for specific groups or topics.
- User Authentication: Enter a username to personalize your chat experience.
- Interactive UI: Modern, responsive interface built with Tailwind CSS and Lucide Icons.
- Message Notifications: Get alerts for important updates via toast notifications.
- Smooth Scroll: Scrolls automatically when new messages arrive, keeping recent chats visible.
- Frontend: React, Tailwind CSS
- Backend: Node.js, Express, Socket.io
- Notifications: react-toastify for alerting users
- Icons: Lucide-react for customizable icons
- Direct Messaging: Private, one-on-one conversations.
- Media Sharing: Send images, videos, and files.
- Read Receipts: See who has viewed your messages.
- User Presence: Know when users are online or typing.
- Admin Controls: Tools for room moderators.
-
Clone the repository:
Recording.2025-02-22.235245.mp4
git clone https://github.com/<your-github-username>/ChatHub.git
-
Navigate to the
client
directory:cd ChatHub/client
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in theclient
directory and add if any. -
Run the frontend application:
npm run dev
-
You can view the website in localhost:
http://localhost:5173
Recording.2025-02-22.234939.mp4
-
Navigate to the
server
directory:cd ChatHub/server
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in theserver
directory and add if any. -
Run the backend application:
npm start
1. Start by forking the ChatHub repository. Click on the symbol at the top right corner.
2. Clone your forked repository:
git clone https://github.com/<your-github-username>/ChatHub
3. Navigate to the new project directory:
cd ChatHub
4. Set upstream command:
git remote add upstream https://github.com/Prithwi32/ChatHub
5. Create a new branch:
git checkout -b YourBranchName
or
git branch YourBranchName
git switch YourBranchName
6. Sync your fork or local repository with the origin repository:
- In your forked repository click on
Fetch upstream
. - Click
Fetch and merge
.
git fetch upstream
git merge upstream/main
Github Docs for Syncing
7. Make your changes to the source code.
8. Stage your changes and commit:
package.json
or package-lock.json
file
git add .
or git add *
. Instead, stage your changes for each file/folder
git add file/folder
git commit -m "<your_commit_message>"
9. Push your local commits to the remote repository:
git push origin YourBranchName
10. Create a Pull Request!
Congratulations! You've made your first contribution! 🙌🏼