A real-time chat application built using Node.js, React, and WebSocket, where users can join different rooms and communicate instantly.
This project is a real-time chat application designed to enable users to join various chat rooms, exchange messages, and share their profiles with others. The app leverages WebSocket for instant messaging, providing users with a fast and engaging experience.
- Real-Time Messaging: Allows users to chat in real time within multiple rooms.
- User Authentication: Google OAuth2.0 authentication.
- User Profiles: Users can upload profile pictures and add a bio.
- Responsive Design: The UI is optimized for both desktop and mobile devices.
To run this project, add a .env file in the root directory with the following environment variables:
PORT=5000
MONGODB_URI=<your_mongodb_cluster_uri>
JWT_SECRET=<your_jwt_secret>
NODE_ENV=development
CLIENT_ID=<your_google_client_id>
GOOGLE_SECRET=<your_google_secret>To set up and run the project locally, follow these steps:
- Open Terminal 1 and run the following commands:
npm install # Install backend dependencies
npm run server # Start the backend server- Open Terminal 2 and run the following commands:
cd front-end # Navigate to the frontend directory
npm install # Install frontend dependencies
npm run build # Build the frontend
npm run start # Start the frontend serverThe backend server will run on port 5000 by default, and the frontend server should run on the specified port in your configuration.