A real-time chat application supporting multiple chat rooms, direct messaging, file sharing, and end-to-end encryption. Built with Node.js backend and React frontend using Socket.io for real-time communication.
Key Features:
- Real-time messaging with Socket.io
- Multiple chat rooms and direct messages
- File and image sharing
- Message encryption for security
- User presence indicators
- Message history and search
- Emoji and reaction support
- Mobile-responsive design
Technologies Used:
- Backend: Node.js, Express, Socket.io, MongoDB
- Frontend: React, Socket.io-client, Material-UI
- Authentication: JWT with refresh tokens
- File Storage: AWS S3
- Deployment: Docker, AWS ECS