This project is a real-time messaging application built using React, TypeScript, and Socket.IO on the frontend. It interacts with an Express backend to enable real-time communication, display conversations, and manage messages. Key features include:
- Viewing a list of conversations.
- Sending and receiving messages in real time.
- Updating the UI dynamically with the latest messages.
- Real-time Messaging: Powered by Socket.IO for real-time updates.
- Conversations View: Displays a list of user conversations with the last message.
- Dynamic Message Loading: Automatically loads messages when a conversation is selected.
- User Context Management: Utilizes React Context for state management (conversation ID, last message).
- React
- TypeScript
- React Bootstrap
- Socket.IO
- CSS
- Node.js with Express
- Socket.IO
- RESTful API
- MongoDB (for storing conversations and messages)
- Enhanced Authentication: Integrate a proper authentication mechanism.
- Pagination: Add pagination for loading large numbers of messages and conversations.
- Responsive Design: Improve the layout for mobile and tablet devices.
- Read Receipts: Add functionality to display read receipts.
- Typing Indicators: Show when another user is typing in real time.
Contributions are welcome! Feel free to submit a pull request or open an issue.