A modern, full-stack real-time chat application built with React, Express, MongoDB, Socket.IO, and TailwindCSS.
- π Authentication: Secure signup, login, and JWT-based session management.
- π¬ Real-Time Messaging: Instant messaging powered by Socket.IO.
- πΌοΈ Image Sharing: Send and receive images in chat (Cloudinary integration).
- π’ Online Status: See which users are online in real time.
- π§βπ€βπ§ User Sidebar: Easily select users to chat with.
- π¨ Responsive UI: Beautiful, mobile-friendly design with TailwindCSS and DaisyUI.
- β‘ State Management: Fast and simple state management using Zustand.
- π‘οΈ Protected Routes: Only authenticated users can access chat features.
π Try ZappChat Live
- Frontend: React, Vite, Zustand, TailwindCSS, DaisyUI, Axios, Socket.IO Client
- Backend: Express, MongoDB, Mongoose, Socket.IO, Cloudinary, JWT, bcryptjs
- Deployment: Render (or any cloud platform)
git clone https://github.com/sumitti/ZappChat.git
cd ZappChatMONGODB_URI=your_mongodb_uri
PORT=5001
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secret
NODE_ENV=developmentnpm install --prefix backend
npm install --prefix frontendnpm run dev --prefix backendnpm run dev --prefix frontendZappChat/
βββ backend/
β βββ src/
β β βββ controller/
β β βββ middleware/
β β βββ models/
β β βββ routes/
β β βββ lib/
β β βββ index.js
β βββ .env
β βββ [package.json]
βββ frontend/
β βββ src/
β β βββ components/
β β βββ store/
β β βββ App.jsx
β βββ .env
β βββ [package.json]
βββ [README.md]Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.