This project is a real-time chat application built using the MERN (MongoDB, Express.js, React.js, and Node.js) stack. The frontend is developed with React.js, while the backend is built with Node.js and Express.js. MongoDB is used as the database to store user information and chat messages.
-
User Authentication: Users can sign up and log in to the application using their email and password.
-
Real-time Messaging: Users can send and receive messages in real-time using Socket.IO for bidirectional communication between the client and server.
-
User Profile: Each user has a profile page where they can update their personal information, such as name, profile picture, and bio.
-
Friend Management: Users can send friend requests to other users and accept or reject incoming requests.
-
Notifications: The application sends notifications to users when they receive new messages or friend requests.
The login page allows users to enter their email and password to access the application.
The chat page displays the list of active chats on the left-hand side, and the conversation area on the right. Users can start new chats, send messages, and share files from this page.
This screenshot shows the conversation area, where users can see the messages exchanged between them and their friends or groups.
The profile page allows users to view and update their personal information, such as their name, profile picture, and bio.
To run the project locally, follow these steps:
- Clone the repository
- Install dependencies for both the frontend and backend:
cd frontendand runnpm installcd backendand runnpm install
- Set up the MongoDB database and configure the connection string in the backend
- Start the backend server:
cd backendand runnpm start - Start the frontend development server:
cd frontendand runnpm start - The application should now be running at
http://localhost:3000
This project was bootstrapped with Create React App, and the available scripts are the same as those provided by Create React App.
- Frontend: React.js, React Router, Axios, Socket.IO-Client
- Backend: Node.js, Express.js, MongoDB, Mongoose, Socket.IO, JSON Web Tokens (JWT)
- Database: MongoDB
You can learn more about the technologies used in this project from the following resources:
- React Documentation
- Node.js Documentation
- Express.js Documentation
- MongoDB Documentation
- Socket.IO Documentation
Feel free to customize and enhance the project according to your needs!



