A full-stack video and text-based chat application built using the MERN stack (MongoDB, Express.js, React.js, Node.js) with real-time communication capabilities enabled by WebRTC and WebSockets. This app allows users to engage in peer-to-peer video calls and instant messaging, providing a seamless, responsive chat experience.
- Real-Time Communication: Video calls and instant messaging between users using WebRTC and WebSockets.
- Secure and Scalable: Built with REST APIs and secure WebSocket connections for reliable performance.
- Responsive UI: Optimized for both desktop and mobile devices with a clean, user-friendly design.
- Database Management: MongoDB is used to store user data, chat histories, and other application states.
- Frontend: React.js, Tailwind CSS
- Backend: Node.js, Express.js
- Database: MongoDB
- Real-Time Communication: WebRTC, WebSockets
Follow these instructions to get a copy of the project up and running on your local machine.
- Node.js: Ensure you have Node.js installed on your machine. You can download it from Node.js official site.
- MongoDB: Make sure you have MongoDB installed and running locally, or use a cloud MongoDB instance (like MongoDB Atlas).
-
Clone the Repository
git clone https://github.com/manoharkakumani/VideoChatApp.git cd VideoChatApp
-
Install Dependencies
Install the server-side dependencies:
cd Backend npm install
Install the client-side dependencies:
cd ../Frontend npm install
-
** Variables**
- feel free to create .env and intgrate with project or edit the varibles in server.js in Backend.
- PORT=5000
- MONGO_URL
-
Run the Application
Start the backend server:
cd Backend npm run dev
Start the frontend application:
cd ../Frontend npm run dev
-
Access the App
Open your browser and navigate to
http://localhost:<Port>
to use the application.
- Sign Up: Register a new account using a unique username and password.
- Login: Sign in with your credentials.
- Start Chatting: Connect with other users, start video calls, or send instant messages.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create your feature branch (
git checkout -b feature/new-feature
). - Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature/new-feature
). - Open a pull request.
This project is licensed under the MIT License - see the LICENSE file for details.
Manohar Kakumani
- LinkedIn: linkedin.com/in/manoharkakumani
- Email: [email protected]
Feel free to adjust the screenshots section with actual images and update any additional setup instructions specific to your project!