Check out the live app here: Echo Chat-App
Echo Chat App is a real-time chat application built with the MERN stack. It supports seamless communication between users with features like live chat, group chats, user notifications, and advanced socket integration. The app is designed with responsive UI using Material-UI and Redux Toolkit for state management, making it a reliable and modern chat platform.
- Features
- Technologies Used
- Environment Variables
- Setup Instructions
- Frontend
- Backend
- Future Enhancements
- Fully responsive design for mobile and desktop
- Live chat functionality
- User authentication and authorization using cookies
- Real-time notifications
- Infinite chat scroll
- Send and receive friend requests
- Accept or reject friend requests
- Create, rename, or delete group chats
- Add or remove members from groups
- Send text messages and attachments
- View chat history and notifications
- Dashboard for viewing users, chats, and messages
- View platform stats and activity logs
- React: JavaScript library for building user interfaces
- Redux Toolkit: State management
- Material-UI (MUI): UI components
- React Router: Routing library
- Axios: HTTP client
- Socket.IO-Client: Real-time communication
- Chart.js: Data visualization
- React-Hot-Toast: Notifications
- Node.js: JavaScript runtime
- Express.js: Web framework
- MongoDB: NoSQL database
- Socket.IO: WebSocket communication
- JWT: JSON Web Tokens for authentication
- Multer: File upload handling
- Cloudinary: Image storage
- Bcrypt: Password hashing
The following environment variables are required to run the project:
VITE_SERVER
: The URL of the backend server.
MONGO_URI
: MongoDB connection string.NODE_ENV
: Environment (e.g.,production
,development
).PORT
: Backend server port.CLIENT_URL
: Frontend URL.JWT_SECRET
: Secret key for JWT.ADMIN_SECRET_KEY
: Secret key for admin authentication.CLOUDINARY_CLOUD_NAME
: Cloudinary cloud name.CLOUDINARY_API_KEY
: Cloudinary API key.CLOUDINARY_API_SECRET
: Cloudinary API secret.
The frontend is built using React with Vite for fast development. It uses Material-UI for a modern and responsive design.
- Material-UI
- Redux Toolkit
- React-Router
- Axios
- Socket.IO-Client
The backend is powered by Node.js with Express for handling API requests. MongoDB is used as the database, and Socket.IO enables real-time features.
- Express
- Mongoose
- Socket.IO
- Cloudinary
- Multer
- JWT Authentication
- Implement read receipts for messages
- Add support for video and voice calls
- Enable message search functionality
- Improve admin dashboard with more analytics
Thanks for reading!