Connectify is a real-time, full-stack chat application built using the MERN stack (MongoDB, Express.js, React.js, Node.js) with additional support for Socket.IO and Zustand for efficient client-side state management.
This app supports live messaging, user authentication, global theme switching, and is optimized for both performance and scalability.
👉 Click here to try Connectify
- Frontend: React.js, Tailwind CSS, Zustand, Framer Motion
- Backend: Node.js, Express.js, MongoDB
- Real-time: Socket.IO
- Authentication: JWT, custom auth middleware
- Hosting: Render (or Vercel if you migrate)
- 🔐 Secure user authentication (register/login)
- 💬 Real-time 1-on-1 chat using Socket.IO
- 🧾 Chat history persistence via MongoDB
- 🎨 10+ dynamic themes with Zustand-based state management
- 🔄 Auto scroll & smooth UI animations (Framer Motion)
- 🔍 User search, global responsiveness, and clean UX
- MVC backend structure (controllers, models, routes)
- Zustand used to manage theme, auth, and chat state
- RESTful APIs for user & message CRUD operations
- Socket.IO for real-time bidirectional event-based communication
# Clone the repo
git clone https://github.com/your-username/connectify.git
# Navigate to project folder
cd connectify
# Install dependencies
npm install
# Start both frontend and backend
# (Assuming concurrently is setup or use separate terminals)
npm run dev
Tested manually with over 40 users, focusing on:
Performance under simultaneous chat sessions
UI responsiveness across device types
Socket connection reliability and user reconnection logic
Feel free to fork the repo, submit issues, or open pull requests!
This project is licensed under the MIT License.
Rohan Bhangale 📫 LinkedIn | 🌐 Portfolio