- Name: Harshit Swarnkar
- University: Indian Institute of Technology (BHU) Varanasi
- Department: Electronics Engineering
- Roll Number: 21095051
Message Web App build using MERN stack
messageapp-harshit1.onrender.com
This is the frontend + backend of MessageApp build with MERN stack and hosted with Render
MessageApp is a chatting application. Its build using MERN stack and uses socket.io for realtime messaging, online statuses, typing indicators, notifications etc.
-
Authentication of Users: Ensure secure registration and login of users.
-
User Discovery: Enable users to search for other users for communication.
-
Group Chat Creation: Allow users to form group chats.
-
Admin Control in Group Chats: Grant administrative rights exclusively to group-chat admins for editing chat details, such as the chat name or managing members.
-
Voluntary Departure from Group Chats: Permit users to leave group chats at their discretion.
-
Real-time Messaging: Facilitate real-time conversations using Socket.IO for instant message delivery.
-
Online/Offline Status in Private Chats: Display the real-time online/offline status of users during private conversations.
-
Typing Indicators in Real-time: Provide real-time typing indicators in both private and group chats.
-
Real-time Chat Notifications: Offer real-time notifications for private and group chats to keep users updated on new messages and activities.
-
Responsive Design: Ensure the application is optimized for all screen sizes, delivering a user-friendly experience across various devices.
-
Clone the repo to your local machine.
-
Install the required dependency for server using :
npm install
-
Install the required dependency for client using :
cd client npm install
-
Create a .env file inside the root folder and provide the following environment variables:
PORT=5000 USER_NAME= <mongodb_username> USER_PASSWORD=<mongodb_password> JWT_SECRET=<your_jwt_secret> NODE_ENV=development CLOUDINARY_CLOUD_NAME=<your_cloudinary_cloudname> CLOUDINARY_API_KEY=<your_cloudinary_api_key> CLOUDINARY_API_SECRET=<your_cloudinary_api_secret>
-
Start the express server using :
npm start
-
Start the react development server using:
cd client npm start
-
Create a production build react app using the command :
cd client npm run build
-
Change the value of following environment variables:
NODE_ENV=production
