This application facilitates group interactions and discussions among users in real-time. Users can create accounts, join groups, send messages, and manage group activities seamlessly. It mainly helps to focus on Human computer interactions.
- User Authentication: Users can create accounts and log in securely.
- Group Creation: Users can create groups for discussions.
- Group Management: Group owners can add participants to the group.
- Mail Notifications: Users receive email notifications upon group invitation and for priority messages.
- Priority Messages: Users can send priority messages within groups.
- Tagging Messages: Users can create and assign tags to messages for better organization.
- Activity Tracking: The application tracks the number of messages sent by each user within the group graphically.
- Tag Statistics: It displays the maximum tags used in a group graphically.
- Activity Timeline: Graphical representation of group activity based on total messages sent per day.
- Security: Robust authentication and data encryption to ensure user data safety.
- Scalability: The application should handle a growing number of users and messages efficiently.
- Performance: Fast message delivery and response times for an improved user experience.
- Reliability: Minimal downtime and error handling mechanisms in place.
- User-Friendly Interface: Intuitive UI for easy navigation and interaction.
- Integration: Integrate with third-party services for additional functionalities like file sharing or video calls.
- Frontend: React.js
- Backend: Node.js with Express.js
- Database: MongoDB
- Authentication: JSON Web Tokens (JWT)
- Email Notifications: Nodemailer
- Data Visualization: Chart.js
Clone the project
Go to the project directory
cd chat-app
Install dependencies
npm install
cd frontend/
npm install
add env file
Start the server
npm run start
Start the Client
//open now terminal
cd frontend
npm start
configure .env for frontend REACT_APP_API_URL=(assign the backend server url to this variable)
configure .env for backend
MONGO_URI=(add gmail id) JWT_SECRET=secret SENDER_MAIL=(add gmail id) SENDER_PASSWORD=(add app password of your gmail account) API_URL=(assign the frontend server url to this variable)
docker-compose up --build
docker-compse up