Converza is a real-time chat application built with the MERN (MongoDB, Express, React, Node.js) stack and Socket.io. It enables users to have seamless conversations with real-time message delivery, seen status, and a modern UI.
Production Deploy: https://converza.kanhaiya.me
Video Preview: https://youtu.be/Hi-g3dInSLg?si=eQUxfyhcE_TV5dWv
- Real-time messaging: Instant message delivery using Socket.io
- User authentication: Secure login and registration
- Message seen status: Users can check if their message has been seen
- Responsive UI: Optimized for both desktop and mobile devices
- Persistent chat history: Messages are stored in MongoDB for future reference
- In app Notifications: Get notified about new messages
- React.js (Create React App)
- Styled Components (as CSS framework for styling)
- React Router (for navigation)
- Redux (for state management)
- Node.js with Express.js
- MongoDB with Mongoose ORM
- JWT authentication
- WebSockets using Socket.io
- Frontend: Vercel
- Backend: Render
- Database: MongoDB Atlas
- git cli
- Node.js (v20.15.0 or later)
-
Clone the repository
git clone https://github.com/yourusername/converza.git cd converza -
Install dependencies
# Install backend dependencies cd server npm install # Install frontend dependencies cd ../client npm install
-
Configure environment variables
Create a.envfile in the root ofserverdirectory and set up the following variables:DB_URI=
Create a
.envfile in the root ofclientdirectory and set up the following variables:REACT_APP_SERVER_URI=http://localhost:3000
-
Run the application
# Start the backend cd server npm start # Start the frontend cd ../client npm start
-
Access the application Open
http://localhost:5173in your browser.
- Group Conversation
- Voice and video calling
- End-to-end encryption
- Message reactions and replies
- Profile customization
- Status updates
If you'd like to contribute, please fork the repository and submit a pull request.
This project is licensed under the MIT License.
For any issues or feature requests, feel free to reach out at kanhaiyadav.me@gmail.com or open an issue on GitHub.
