A premium full-stack chat application featuring real-time messaging, voice/video calling, file sharing, and a beautiful glassmorphic interface.
NexusChat is a production-inspired real-time communication platform built using modern web technologies. It combines the simplicity of WhatsApp with the collaborative experience of Discord while maintaining a premium glassmorphic user interface.
The application supports secure authentication, instant messaging, group conversations, WebRTC-based voice and video calls, media sharing, and live presence tracking.
- Email Registration & Verification
- Phone Number OTP Authentication
- JWT Authentication
- Secure Password Hashing
- Protected Routes
- One-to-One Conversations
- Group Chats
- Typing Indicators
- Online / Offline Presence
- Last Seen
- Read Receipts
- Delivered Status
- Message Editing
- Soft Delete Messages
- WebRTC Peer-to-Peer Calls
- HD Voice Calling
- HD Video Calling
- Picture-in-Picture Mode
- Mute / Camera Controls
- Call Notifications
- Images
- Videos
- Voice Notes
- Documents
- Cloudinary Storage
- Local Upload Fallback
- Premium Glassmorphism UI
- Fully Responsive Design
- Animated Background
- Framer Motion Animations
- Discover People Directory
- Live Dashboard Statistics
- React 19
- TypeScript
- Vite
- Tailwind CSS
- Framer Motion
- React Hook Form
- Lucide React
- Node.js
- Express.js
- TypeScript
- MongoDB
- Mongoose
- Socket.IO
- WebRTC
- JWT
- Multer
- Cloudinary
NexusChat
│
├── client/
│ ├── src/
│ ├── public/
│ └── package.json
│
├── server/
│ ├── controllers/
│ ├── middleware/
│ ├── models/
│ ├── routes/
│ ├── sockets/
│ ├── utils/
│ └── package.json
│
├── docs/
├── README.md
└── package.json
| File | Description |
|---|---|
| DOCUMENTATION.md | Complete API & Database Documentation |
| BUILD_WORKFLOW.md | Setup & Build Workflow |
| HOW_IT_WORKS.md | WebRTC, Socket.IO & OTP Flow |
| README.md | Project Overview |
git clone https://github.com/Harshitcodes01/NexusChat.git
cd NexusChatcd client
npm install
cd ../server
npm installCreate a .env file inside the server directory.
PORT=5000
MONGO_URI=your_mongodb_connection_string
JWT_SECRET=your_secret_key
CLOUDINARY_CLOUD_NAME=
CLOUDINARY_API_KEY=
CLOUDINARY_API_SECRET=
TWILIO_ACCOUNT_SID=
TWILIO_AUTH_TOKEN=
TWILIO_PHONE_NUMBER=Backend
npm run devFrontend
npm run dev- Group Video Calls
- Message Reactions
- End-to-End Encryption
- Push Notifications
- AI Chat Assistant
- Screen Sharing
- Multi-device Sync
Contributions are welcome!
-
Fork the repository
-
Create a new feature branch
git checkout -b feature/NewFeature- Commit your changes
git commit -m "Add new feature"- Push your branch
git push origin feature/NewFeature- Open a Pull Request
Harshit Raj Singh
B.Tech CSE (AI & ML)
Vivekananda Global University, Jaipur
GitHub: https://github.com/Harshitcodes01 Linkedin: https://www.linkedin.com/in/harshit-raj-singh-502b18373
This project is licensed under the MIT License.