Skip to content

Latest commit

 

History

23 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

💬 NexusChat

Modern Real-Time Messaging Platform

A premium full-stack chat application featuring real-time messaging, voice/video calling, file sharing, and a beautiful glassmorphic interface.

React TypeScript Node.js MongoDB Socket.IO WebRTC


✨ Overview

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.


🚀 Features

🔐 Authentication

  • Email Registration & Verification
  • Phone Number OTP Authentication
  • JWT Authentication
  • Secure Password Hashing
  • Protected Routes

💬 Real-Time Messaging

  • One-to-One Conversations
  • Group Chats
  • Typing Indicators
  • Online / Offline Presence
  • Last Seen
  • Read Receipts
  • Delivered Status
  • Message Editing
  • Soft Delete Messages

📞 Voice & Video Calling

  • WebRTC Peer-to-Peer Calls
  • HD Voice Calling
  • HD Video Calling
  • Picture-in-Picture Mode
  • Mute / Camera Controls
  • Call Notifications

📁 Media Sharing

  • Images
  • Videos
  • Voice Notes
  • Documents
  • Cloudinary Storage
  • Local Upload Fallback

🎨 User Experience

  • Premium Glassmorphism UI
  • Fully Responsive Design
  • Animated Background
  • Framer Motion Animations
  • Discover People Directory
  • Live Dashboard Statistics

🛠 Tech Stack

Frontend

  • React 19
  • TypeScript
  • Vite
  • Tailwind CSS
  • Framer Motion
  • React Hook Form
  • Lucide React

Backend

  • Node.js
  • Express.js
  • TypeScript
  • MongoDB
  • Mongoose
  • Socket.IO
  • WebRTC
  • JWT
  • Multer
  • Cloudinary

📂 Project Structure

NexusChat
│
├── client/
│   ├── src/
│   ├── public/
│   └── package.json
│
├── server/
│   ├── controllers/
│   ├── middleware/
│   ├── models/
│   ├── routes/
│   ├── sockets/
│   ├── utils/
│   └── package.json
│
├── docs/
├── README.md
└── package.json

📚 Documentation

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

⚙️ Installation

Clone Repository

git clone https://github.com/Harshitcodes01/NexusChat.git

cd NexusChat

Install Dependencies

cd client
npm install

cd ../server
npm install

🔧 Environment Variables

Create 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=

▶️ Running the Application

Backend

npm run dev

Frontend

npm run dev

🛣 Roadmap

  • Group Video Calls
  • Message Reactions
  • End-to-End Encryption
  • Push Notifications
  • AI Chat Assistant
  • Screen Sharing
  • Multi-device Sync

🤝 Contributing

Contributions are welcome!

  1. Fork the repository

  2. Create a new feature branch

git checkout -b feature/NewFeature
  1. Commit your changes
git commit -m "Add new feature"
  1. Push your branch
git push origin feature/NewFeature
  1. Open a Pull Request

👨‍💻 Author

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


📄 License

This project is licensed under the MIT License.


⭐ Star this repository if you found it useful!

About

A premium real-time messaging, group chat, and voice/video calling space built with React, WebRTC, Socket.io, and MongoDB

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages