NEXUS is a modern full-stack chat application built using the MERN stack. It enables users to communicate in real time through a clean and responsive interface while providing secure authentication, profile management, and media uploads.
- User Registration
- User Login
- JWT Authentication
- Secure Password Hashing
- Protected Routes
- Real-Time Chat Interface
- One-to-One Messaging
- Message History
- Conversation Management
- Update User Profile
- Upload Profile Pictures
- Cloudinary Image Storage
- Responsive Design
- Multiple DaisyUI Themes
- Dark & Light Mode Support
- Modern Chat Interface
- Toast Notifications
- React.js
- Vite
- Tailwind CSS v4
- DaisyUI
- Zustand
- React Router DOM
- Axios
- React Hook Form
- React Hot Toast
- Node.js
- Express.js
- MongoDB
- Mongoose
- JWT Authentication
- Cloudinary
- MongoDB Atlas
NEXUS/
│
├── backend/
│ ├── src/
│ │ ├── controllers/
│ │ ├── db/
│ │ ├── middlewares/
│ │ ├── models/
│ │ │ ├── user.model.js
│ │ │ └── message.model.js
│ │ └── routes/
│ │
│ ├── .env
│ ├── index.js
│ └── package.json
│
├── frontend/
│ ├── public/
│ ├── src/
│ │ ├── components/
│ │ ├── pages/
│ │ ├── store/
│ │ ├── lib/
│ │ ├── App.jsx
│ │ └── main.jsx
│ │
│ ├── vite.config.js
│ └── package.json
│
└── README.mdgit clone https://github.com/your-username/nexus-chat-app.git
cd nexus-chat-appcd backend
npm installcd frontend
npm installCreate a .env file inside the backend folder:
MONGODB_URI=your_mongodb_connection_string
PORT=5001
JWT_SECRET=your_jwt_secret
NODE_ENV=development
CLOUDINARY_CLOUD_NAME=your_cloud_name
CLOUDINARY_API_KEY=your_api_key
CLOUDINARY_API_SECRET=your_api_secretcd backend
npm run devBackend runs on:
http://localhost:5001
cd frontend
npm run devFrontend runs on:
http://localhost:5173
NEXUS supports multiple DaisyUI themes including:
- Light
- Dark
- Cupcake
- Retro
- Cyberpunk
- And 20+ additional DaisyUI themes
Users can switch themes for a personalized chat experience.
- Group Chats
- Voice Messages
- Video Calling
- Online Presence Indicators
- Read Receipts
- Message Reactions
- File Sharing
- Push Notifications
If you found this project useful, please consider giving it a Star ⭐ on GitHub.