This is a real-time chat application built using the MERN stack (MongoDB, Express.js, React, Node.js) with Vite for frontend bundling.
The project demonstrates authentication, WebSocket-based real-time messaging, and a clean modern UI.
This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules.
Currently, two official plugins are available:
- @vitejs/plugin-react uses Babel for Fast Refresh
- @vitejs/plugin-react-swc uses SWC for Fast Refresh
If you are developing a production application, we recommend using TypeScript with type-aware lint rules enabled. Check out the TS template for information on how to integrate TypeScript and typescript-eslint
in your project.
- π User Authentication (Login & Signup)
- π¬ Real-time Messaging (via WebSocket/Socket.io)
- π± Responsive UI (works on desktop & mobile)
- π REST API for chat and user management
- β‘ Fast Refresh with Vite + React
- π‘οΈ Secure password handling with bcrypt
- π¦ MongoDB database integration
Frontend
- React + Vite
- TailwindCSS (if included)
- Axios (for API calls)
Backend
- Node.js + Express.js
- MongoDB + Mongoose
- Socket.io (for real-time communication)
Others
- ESLint + Prettier for linting
- dotenv for environment configs
Chat Application/
βββ server/ # Express + MongoDB API
β βββ models/ # Mongoose models
β βββ routes/ # API routes
β βββ controllers/ # Business logic
β βββ server.js # Entry point
β
βββ frontend/ # React + Vite frontend
β βββ src/
β β βββ components/
β β βββ pages/
β β βββ context/
β β βββ App.jsx
β βββ vite.config.js
β
βββ README.md
git clone https://github.com/mahamadayazmomin/Chat-Application.git
cd Chat-Application
cd backend
npm install
npm start # starts backend server (default: http://localhost:5000)
To check linting errors:
npm run lint
You can check out a live demo of this Chat App here.
Pull requests are welcome. For major changes, please open an issue first to discuss your idea.
This project is licensed under the MIT License.