This project is a full-stack, real-time chat application built with the MERN stack (MongoDB, Express.js, React, Node.js) and Socket.IO. It features user authentication, multiple chat rooms, sentiment analysis, and a responsive UI.
- User Authentication (Sign up / Sign in)
- Multiple Chat Rooms
- Real-time Messaging
- Message Sentiment Analysis
- Emoji Support
- Message Deletion
- Typing Indicators
- Online Users List
- Responsive Design
- React.js
- Material-UI
- Socket.IO Client
- Axios for HTTP requests
- React Router for navigation
- Emoji-Mart for emoji picker
- Moment.js for time formatting
- Node.js
- Express.js
- MongoDB with Mongoose
- Socket.IO
- JSON Web Tokens (JWT) for authentication
- Bcrypt for password hashing
- Sentiment for message sentiment analysis
- Node.js
- MongoDB
- Clone the repository
git clone https://github.com/Rohitbadekar-639/real-time-chat-sentiment-app cd advanced-chat-app
- Install server dependencies
cd server npm install
- Install client dependencies
cd ../client npm install
- Set up environment variables
Create a
.env
file in the server directory with the following:
MONGODB_URI=your_mongodb_connection_string JWT_SECRET=your_jwt_secret PORT=5000
- Start the server
cd ../server node server.js
- Start the client
cd ../client npm start
- Open
http://localhost:3000
in your browser
- Register a new account or log in
- Select a chat room to join
- Start chatting!
- Use the emoji picker to add emojis to your messages
- View sentiment analysis for each message
- See who's online and who's currently typing
Contributions are welcome! Please feel free to submit a Pull Request.
Project Link: https://github.com/Rohitbadekar-639/real-time-chat-sentiment-app