A real-time chat application built using the MERN stack (MongoDB, Express, React, Node.js) that supports instant messaging through WebSockets and traditional operations via REST APIs.
- OTP authentication and JWT authorization
- Real-time messaging using WebSockets
- User authentication and authorization
- One-to-one chat functionality
- Message persistence with MongoDB
- REST APIs for user, chat, and message management
- Responsive frontend built with React
- Secure backend using Node.js and Express
- React
- JavaScript (ES6+)
- Axios
- Node.js
- Express.js
- MongoDB (Mongoose)
- WebSockets (Socket.IO)
- Users authenticate using REST APIs.
- After login, a WebSocket connection is established.
- Messages are exchanged in real time.
- Messages are stored in MongoDB.
- Chat history is fetched via REST APIs.
- Node.js
- MongoDB
- Group chats
- Typing indicators
- Read receipts
- File sharing