A feature-rich real-time messaging platform with instant messaging, and voice messages.
Connexus is a real-time messaging web application built using the MERN stack. It enables users to send instant messages, and share voice messages in a seamless chat experience. The application leverages Socket.io for real-time communication and JWT authentication for secure user access.
- Project Title and Overview
- Project Description
- Features
- Technology Stack
- Preview
- Installation
- Usage
- Configuration
- Testing
- License
- FAQs
- Contact Information
- Real-time messaging using Socket.io.
- Voice message support for quick audio chats.
- Secure authentication with JWT-based login and registration.
- Modern UI using React functional components and Context API for state management.
- RESTful API built with Node.js and Express.
- MongoDB integration for scalable data storage.
Frontend:
- React.js (Functional Components & Hooks)
- Context API for state management
- React Router for navigation
- Tailwind CSS for styling
Backend:
- Node.js, Express.js (REST API)
- MongoDB (NoSQL database)
- Mongoose (ORM for MongoDB)
- JWT authentication
- Socket.io (real-time messaging)
Other Tools:
- WebSockets (for real-time events)
Below are some screenshots showcasing Connexus in action:
Explore the platform to dive deeper into its features, interact with real-time messaging, and experience seamless communication!
To set up the project locally, follow these steps:
-
Clone the repository:
git clone https://github.com/ThakkarVidhi/mern-messenger.git cd mern-messenger
-
Install the dependencies:
Backend Setup:
cd backend npm install
Frontend Setup:
cd frontend npm install
-
Start the application:
Start the backend server:
cd backend npm run dev
Start the frontend server:
cd frontend npm run dev
-
Open
http://localhost:5173/
in your browser to start using Connexus.
-
Sign Up / Login
Create an account or log in with existing credentials. -
Find Friends / Connect with Other People
Search for users and send connection requests to start chatting. -
Start Messaging
Select a chat and start sending messages in real-time. -
Send Voice Messages
Record and send voice messages directly in the chat.
This project uses a .env
file for managing environment variables. Create a .env
file in the backend directory with the following details:
PORT=5000
DB_URI=your_mongodb_connection_string
SECRET=your_jwt_secret
This project does not include automated tests. However, you can manually test the application by running it locally and interacting with the features:
- Start the backend and frontend servers.
- Sign up or log in to the application.
- Find and connect with other users.
- Send messages, voice messages, and try real-time messaging.
- Check for any issues or unexpected behavior while using the app.
If you encounter any issues, refer to the browser console or server logs for debugging.
If you have any questions or need assistance, feel free to reach out to me.
This project is licensed under the MIT License.
Q: How do I sign up and start using the app?
A: Click on the "Register" button, enter your details, and create an account. Once registered, you can log in and start messaging.
Q: Can I send voice messages?
A: Yes, the app supports voice messages. You can record and send them directly within the chat.
Q: How can I find and connect with other users?
A: Use the "Find User" feature to search for and connect with other users. Once connected, you can start messaging them.
Q: Is my data secure?
A: Yes, all messages and user data are secured using JWT authentication.
Q: What should I do if I encounter an issue?
A: If you face any problems, check the browser console or server logs for errors. You can also reach out for support.
If you have additional questions, feel free to contact me!
You can reach me at vidhithakkar.ca@gmail.com or via LinkedIn.