A real-time full-stack web application built using the MERN stack, integrated with WebSockets for live communication, Zustand for state management, and secure JWT authentication using HTTP-only cookies.
🔗 Backend Repository: LakshitAgarwal/yapp-backend
DemoVideo.mov
Frontend:
- React.js
- Zustand (State Management)
- Tailwind CSS
- Axios
- Daisy UI
Backend:
- Node.js
- Express.js
- MongoDB with Mongoose
- WebSocket (ws)
- JSON Web Tokens (JWT)
- Render (Deployment)
-
🔐 JWT Auth via HTTP-only cookies
-
💬 Real-time messaging with WebSockets
-
⚡ Zustand for fast and efficient state handling
-
🎨 Changeable chat themes with Daisy UI
-
🔄 Auto token handling and protected routes
-
📱 Responsive UI with Tailwind CSS
-
🧠 Clean code and maintainable structure
Follow these steps to run Yapp locally on your machine.
git clone https://github.com/your-username/yapp.git
cd yappgit clone https://github.com/LakshitAgarwal/yapp-backend.gitcd yapp-backend
npm installPORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_jwt_secret
NODE_ENV=development
CLIENT_ORIGIN=http://localhost:5173
CLOUDINARY_KEY = YOUR_CLOUDINARY_KEY
CLOUDINARY_SECRET = YOUR_CLOUDINARY_SECRET
CLOUDINARY_CLOUD_NAME = YOUR_CLOUDINARY_CLOUD_NAMEReplace
your_mongodb_connection_string,your_jwt_secret,CLOUDINARY_KEY,CLOUDINARY_SECRETandCLOUDINARY_CLOUD_NAMEwith your actual values.
npm run devIn a new terminal tab:
cd yapp
npm installVITE_SERVER_URL=http://localhost:5000npm run devOpen your browser and go to:
http://localhost:5173
Yapp is a passion project built to showcase the power of real-time web applications. Feel free to explore, contribute, or fork the repo to build your own version.
If you encounter any issues or have suggestions, don’t hesitate to open an issue or reach out!
Happy coding! 💻🚀