A modern, feature-rich messaging application enabling secure, one-on-one real-time conversations, built with the MERN stack and WebSockets.
- Instant Messaging: Enables bi-directional, real-time text and image messaging.
- User Presence: Provides live tracking and display of online/offline status.
- Real-Time Core: Engineered using Socket.io with secure, authenticated WebSocket connections.
- Security Fortification: APIs hardened with Arcjet, configuring a WAF and rate-limiter to protect against XSS, SQLi, and bot attacks.
Create a .env file in the /backend directory:
PORT=3000
MONGO_URI=your_mongo_uri
JWT_SECRET=your_jwt_secret
CLIENT_URL=http://localhost:5173
ARCJET_KEY=your_arcjet_key
CLOUDINARY_CLOUD_NAME=name
CLOUDINARY_API_KEY=key
CLOUDINARY_API_SECRET=secret-
Backend
cd backend && npm install && npm run dev
-
Frontend
cd frontend && npm install && npm run dev