
VAANI is a real-time chat application inspired by Indian mythology. It allows users to communicate instantly with friends or colleagues through text and media messages. Built with modern web technologies, it provides a seamless chatting experience similar to WhatsApp or Messenger.
- Real-Time Messaging: Instant chat without page reload using Socket.IO.
- Media Sharing: Send images alongside messages.
- User Authentication: Secure login and signup using JWT and bcrypt.
- Profile Management: Update profile information and profile picture.
- Online Users: See which users are online.
- Responsive Design: Works perfectly on both desktop and mobile devices.
- Frontend: React.js, TailwindCSS
- Backend: Node.js, Express.js
- Database: MongoDB (Atlas)
- Real-Time Communication: Socket.IO
- Authentication: JWT & bcryptjs
- Cloud Storage: Cloudinary for image uploads
git clone https://github.com/code0era/VAANI
cd vaani
Backend:
cd backend
npm install
Frontend:
cd ../frontend
npm install
Create a .env
file in backend/
folder with the following:
PORT=5001
MONGO_URI=<your_mongodb_connection_string>
JWT_SECRET=<your_jwt_secret>
CLOUDINARY_CLOUD_NAME=<cloud_name>
CLOUDINARY_API_KEY=<api_key>
CLOUDINARY_API_SECRET=<api_secret>
Backend:
cd backend
npm run dev
Frontend:
cd frontend
npm run dev
Open your browser and go to http://localhost:5173
.
- Frontend can be deployed to Vercel, Netlify, or Render.
- Backend can be deployed to Render, Railway, or any Node.js hosting provider.
- Make sure to set environment variables in the hosting platform.
vaani/
│
├── backend/
│ ├── src/
│ │ ├── controllers/ # API logic
│ │ ├── routes/ # API routes
│ │ ├── lib/ # DB connection, socket, utils
│ │ └── index.js # Backend entry point
│ ├── package.json
│ └── .env
│
├── frontend/
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── store/ # Zustand state management
│ │ └── main.jsx
│ ├── public/
│ │ └── VAANI.png # Logo
│ └── package.json
│
└── README.md



hancements
- Video and voice calls
- Message reactions and emojis
- Group chats
- Dark mode toggle
- Improved media upload with compression
VAANI means "voice" or "speech" in Sanskrit. This app embodies the essence of instant communication, connecting people in real-time just like the flow of words and messages in human conversations.
This project is licensed under the MIT License.