My-Chat-App (also referred to as Chatty) is a full-featured real-time chat application built using the MERN stack (MongoDB, Express, React, Node.js) with TailwindCSS and DaisyUI for clean, responsive UI components. It supports real-time messaging, authentication, and a beautiful, intuitive interface.
🔗 https://my-chat-app-r5t0.onrender.com
- 👥 User Authentication (JWT-based login & registration)
- 💬 Real-Time One-to-One Chat
- 📡 Socket.io Integration for live message delivery
- 🌈 Styled using TailwindCSS and DaisyUI
- 🖼️ Clean and responsive UI
- React
- TailwindCSS
- DaisyUI
- Axios
- Zustand (state management)
- Node.js
- Express.js
- MongoDB (Mongoose ODM)
- Socket.io
- JWT Auth
- dotenv (for env config)
git clone https://github.com/0xAditya-Labs/My-Chat-App.git
cd My-Chat-AppCreate a .env file inside backend/ with the following:
PORT=5000
MONGO_URI=mongodb+srv://<username>:<password>@cluster0.mongodb.net/
JWT_SECRET=your_jwt_secretCreate another .env file inside frontend/ with:
VITE_BASE_URL=http://localhost:5000You only need to run:
npm run buildThis single command will:
- Install all dependencies in
backend/ - Install all dependencies in
frontend/ - Build the frontend app via Vite
✅ No separate npm install step is needed because build script handles it internally.
Backend
npm startOR
cd backend
npm run startFrontend
cd frontend
npm run devNow open your browser and go to: http://localhost:5173
To run both backend and frontend simultaneously, you can add:
"start": "concurrently \"npm run start --prefix backend\" \"npm run dev --prefix frontend\""Install concurrently if not already:
npm install concurrently --save-devThen just run:
npm run start✅ This will run:
backendonlocalhost:5000frontendonlocalhost:5173
All from a single terminal.
Deployed on Render: https://my-chat-app-r5t0.onrender.com
My-Chat-App/
├── backend/ # Node.js + Express API
│ ├── controllers/
│ ├── models/
│ ├── routes/
│ ├── config/
│ ├── middleware/
│ └── .env # Backend environment variables
├── frontend/ # React + Vite + Tailwind + DaisyUI
│ ├── components/
│ ├── pages/
│ ├── store/
│ ├── App.jsx
│ ├── main.jsx
│ └── .env # Frontend environment variables
├── package.json # Root scripts to build and run both ends
├── README.md
- Group chats
- Message notifications
- User profile editing
- Message delete/edit support
- Typing indicator
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.