Zync is a full-stack real-time chat application that lets users chat privately or in groups, with instant message delivery, persistent storage, and a beautiful multi-theme UI. Built with the MERN stack, Socket.io, Zustand, and JWT, Zync delivers both performance and polish.
- π JWT Authentication β Secure login and protected routes.
- π¬ Real-Time Chat β Instant message exchange using WebSockets.
- π¦ Persistent Message History β Chats are stored using MongoDB.
- π¨ Responsive Design β Fully mobile-friendly layout with multiple theme support via DaisyUI.
- π§ Global State Management β Zustand ensures fast and consistent state across the app.
- π₯ Private & Group Messaging β Start one-on-one or group conversations.(upcoming feature)
| Layer | Technologies Used |
|---|---|
| Frontend | React.js, Zustand, DaisyUI, Vite |
| Backend | Node.js, Express.js |
| Database | MongoDB, Mongoose |
| Real-Time | Socket.io |
| Auth | JWT (JSON Web Tokens) |
| Dev Tools | Git, GitHub, VS Code, dotenv, Postman |
- Node.js
- npm
- MongoDB (local or Atlas)
# 1. Clone the repository
git clone https://github.com/utsavg05/Chat-app.git
cd zync
# 2. Install backend dependencies
npm install
# 3. Setup environment variables
touch .env
Add your secrets in .env:
MONGO_URI=your_mongodb_uri
JWT_SECRET=your_jwt_secret
# 4. Install frontend dependencies
cd client
npm install
# 5. Run both client and server
cd ..
npm run dev
Made with π» by Utsav Gupta using the power of the MERN stack β‘