- Secure Login, Register, and Logout system.
- Passwords are securely stored using bcrypt to prevent unauthorized access.
- JWT-based authentication ensures only verified users can access protected routes.
- Session management to keep users logged in securely.
- Choose between Light Mode and Dark Mode for a personalized chat experience.
- The theme preference is saved in local storage, ensuring a seamless experience across sessions.
- The UI dynamically updates when toggling between themes.
- Instant messaging powered by Socket.io.
- Message status indicators: See when messages are sent, delivered, and read.
- Messages are stored in MongoDB, ensuring they persist even after users log out.
- Typing indicators show when the other user is typing.
- Message timestamps provide clarity on when messages were sent.
- Real-time updates on friends' online status.
- Notifications when a friend comes online or goes offline.
- Last seen status for offline users.
- Users can manually set their availability status (e.g., "Busy", "Away").
- Send files as previewable links instead of large attachments.
- Supports images, videos, and documents.
- Files are stored securely and can be accessed through a generated preview link.
- Image previews appear directly in the chat window.
- Frontend: React, Redux, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Authentication: JWT (JSON Web Tokens)
- WebSockets: Socket.io for real-time chat
git clone https://github.com/SarimMalik01/Chat_2.git
cd Chat_2cd api
npm installcd client
npm installCreate a .env file in the backend directory and add:
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_keycd backend
npm startcd frontend
npm start- Sign up or Login to your account.
- Add friends by searching their usernames.
- Start chatting with your friends in real time.
- Toggle themes for a better experience.
- Send and receive messages with instant updates.
- Share files through previewable links.
- Check online/offline status of friends.
This project is open-source and available under the MIT License.
👨💻 Developed by Sarim Malik






