CatchUp is a cutting-edge, full-stack web application that enables users to connect, chat, and meet face-to-face in real-time. Built with the MERN stack (MongoDB, Express, React, Node.js) and Socket.IO, the platform delivers seamless messaging, real-time notifications, and high-quality video calls in a responsive, user-friendly interface.
- Instant one-on-one chats with message history.
- Unseen message notifications for quick awareness.
- Support for text and image messages with Cloudinary integration.
- Signup and login with JWT authentication.
- Profile updates with name, bio, and profile picture.
- Secure password handling with hashing.
- High-quality, low-latency video calls between users.
- Integrated directly into the web platform without external apps.
- Real-time connection managed via Socket.IO for seamless communication.
- See which users are online in real-time.
- Instant notifications when users come online or go offline.
- Built with React and TailwindCSS for smooth UX across devices.
- Intuitive chat interface and easy-to-navigate dashboard.
- Node.js + Express server with protected routes.
- MongoDB database for persistent user and message storage.
- Real-time events handled with Socket.IO.
Frontend: React, TailwindCSS, React Router, Axios, React Hot Toast
Backend: Node.js, Express, JWT Authentication, Socket.IO, Cloudinary Integration
Database: MongoDB, Mongoose
Deployment: Vercel (Frontend), Node.js-compatible hosting (Backend)
- Node.js v18+
- MongoDB database instance
- Cloudinary account for media uploads
- Clone the repository
git clone https://github.com/VikramDhull/CatchUp
cd catchup- Install dependencies
Frontend
cd client
npm installBackend
cd ../server
npm install- Set up environment variables in .env (backend)
MONGODB_URI=<Your MongoDB URI>
JWT_SECRET=<Your JWT Secret>
CLOUDINARY_CLOUD_NAME=<Cloudinary Cloud Name>
CLOUDINARY_API_KEY=<Cloudinary API Key>
CLOUDINARY_API_SECRET=<Cloudinary API Secret>
FRONTEND_URL=<Your Frontend URL>- Start development servers
Backend
npm run serverFrontend
cd ../client
npm run devRegister/Login: Create an account or log in securely.
Profile Setup: Add a profile picture and bio for a personal touch.
Messaging: Select users from the sidebar, send messages, and see real-time notifications.
Video Call: Start one-on-one video calls with online users instantly.
Track Activity: View unseen messages and maintain conversation history.
Group chat and multi-party video calls
Advanced analytics for messaging patterns
Dark mode & enhanced UI themes
This project is for educational and personal use.
Developed by Vikram Dhull
For inquiries, reach out via imvikramdhull@gmail.com

