β¨ChatPulse (real-time chat application with AI integrations, media sharing, video calls, profile customization, and multilingual support)β¨
A modern real-time chat application with AI integrations, media sharing, video calls, profile customization, and multilingual support. Built with the MERN stack, Socket.io, and TailwindCSS + Daisy UI.
- π Tech Stack: MERN (MongoDB, Express.js, React.js, Node.js) + Socket.io + TailwindCSS + Daisy UI
- π Authentication & Authorization: Secure JWT-based auth
- πΎ Real-time Messaging: Instant chat updates with Socket.io
- πΌ Media Sharing: Send images, videos, and files in chat
- π₯ Video Calls: One-on-one video calls powered by Stream Video SDK
- π Online Status: See whoβs online in real-time
- π AI Integration:
- Text generation for writing letters, creating polls, etc.
- Translation and multilingual conversation support
- Assists in chatting and answering queries
- π¨ Profile & Themes:
- Edit profile picture, name, and details
- Apply funky themes for personalized chat experience
- β‘ Global State Management: Zustand for smooth state handling
- π Error Handling: Managed on both frontend and backend
- π Deployment Ready: Fully functional and deployable for free
- User Authentication: Sign up, login, JWT-based session management
- Real-time Chat: Send/receive messages instantly
- Online Presence: Live indicator for active users
- Media Uploads: Upload images, videos, and other files
- Video Calling: Start calls, join via link, and use camera/mic seamlessly
- AI-powered Tools:
- Generate letters or responses
- Create polls within chats
- Translate messages into unknown languages
- Assist in conversational queries
- Profile & Themes: Edit profile, switch themes, and personalize chat UI
- Multi-tab Support: Video calls open in a separate tab for smoother experience
Backend .env
MONGODB_URI=your_mongodb_connection_string
PORT=5001
JWT_SECRET=your_jwt_secret
CLOUDINARY_CLOUD_NAME=...
CLOUDINARY_API_KEY=...
CLOUDINARY_API_SECRET=...
STREAM_API_KEY=...
STREAM_API_SECRET=...
STREAM_APP_ID=...
NODE_ENV=developmentFrontend .env
VITE_STREAM_API_KEY=your_stream_api_keyMake sure your frontend can reach the backend URL for token generation in production.
Clone the repository:
git clone https://github.com/22L31A0497/your-chat-app.git
cd your-chat-appInstall backend dependencies:
cd backend
npm installInstall frontend dependencies:
cd ../frontend
npm installcd backend
npm run startcd frontend
npm run devnpm run buildServe the build:
npm run preview/backend
|-- routes/
|-- controllers/
|-- models/
|-- middlewares/
|-- server.js
/frontend
|-- src/
|-- pages/
|-- components/
|-- store/
|-- lib/
MIT License
- Video Calls require the backend token route for security.
- AI Integration uses OpenAI API or similar for text generation and translations.
- Fully mobile responsive with TailwindCSS.
β¨ Enjoy chatting in multiple languages, sharing media, and making video calls like a pro!