Messaging App (MERN Stack)

Name-Gopal Bansal

University-Indian Institute of Technology, Ropar

Department-Computer Science and Engineering

Welcome to the Messaging App repository! This is a full-stack messaging application built using the MERN (MongoDB, Express, React, Node.js) stack. The app provides a variety of features to facilitate personal and group communication, as well as video calling functionality. It also includes secure user authentication and boasts an interactive user interface for a seamless messaging experience.

Features

  1. Personal Chat Feature: Users can have one-on-one conversations with other online users in real-time.

  2. Group Chat Feature: Engage in group discussions with multiple online users. Create, join, and chat in different groups.

  3. Video Call Feature: Create video call rooms and invite online users to join you in real-time video conversations.

  4. Login and Register: A fully authenticated system for user registration and login to ensure secure access to the app's features.

  5. Interactive UI: The app offers an intuitive and interactive user interface, making it easy to navigate and enjoy a seamless messaging experience.

Technologies Used

  • Frontend: React.js, Redux (for state management), WebRTC (for video calling), Material-UI (for UI components)

  • Backend: Node.js, Express.js, Socket.io (for real-time communication), MongoDB (for database)

Installation

To run the app locally, follow these steps:

  1. Clone this repository to your local machine:
git clone https://github.com/your-username/messaging-app.git

2.Navigate to the project directory:

cd messaging-app

3.Install dependencies for both the server and client:

Copy code
cd api
npm install
cd ../client
npm install
cd ../server2
npm install

4.Start the Servers

cd ../api
node index.js
cd ../server2
node index.js

5.Start the client

cd ../client
npm run dev

6.Open your web browser and visit http://localhost:3000 to use the Messaging App. 7.To Login As Another User Visit the Same Link On Another Web Browser or in incognito Mode. 8.In the Deployed version the users Can Login from Any device.

Deployment

To deploy this application to a production environment, you can use cloud platforms like AWS, Heroku, or Vercel. Be sure to configure environment variables and set up a production-ready database.