Skip to content

22L31A0497/fullstack-chat-app-master

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

26 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

✨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.


πŸš€ Highlights

  • 🌟 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

πŸ“¦ Features

  1. User Authentication: Sign up, login, JWT-based session management
  2. Real-time Chat: Send/receive messages instantly
  3. Online Presence: Live indicator for active users
  4. Media Uploads: Upload images, videos, and other files
  5. Video Calling: Start calls, join via link, and use camera/mic seamlessly
  6. AI-powered Tools:
    • Generate letters or responses
    • Create polls within chats
    • Translate messages into unknown languages
    • Assist in conversational queries
  7. Profile & Themes: Edit profile, switch themes, and personalize chat UI
  8. Multi-tab Support: Video calls open in a separate tab for smoother experience

βš™οΈ Setup .env File

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

Frontend .env

VITE_STREAM_API_KEY=your_stream_api_key

Make sure your frontend can reach the backend URL for token generation in production.


πŸ›  Installation

Clone the repository:

git clone https://github.com/22L31A0497/your-chat-app.git
cd your-chat-app

Install backend dependencies:

cd backend
npm install

Install frontend dependencies:

cd ../frontend
npm install

πŸ”§ Build & Start

Backend

cd backend
npm run start

Frontend

cd frontend
npm run dev

Production Build (Frontend)

npm run build

Serve the build:

npm run preview

πŸ“‚ Folder Structure

/backend
  |-- routes/
  |-- controllers/
  |-- models/
  |-- middlewares/
  |-- server.js
/frontend
  |-- src/
       |-- pages/
       |-- components/
       |-- store/
       |-- lib/

πŸ“„ License

MIT License


πŸ’‘ Notes

  • 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!

About

AI πŸ€– Powered Messenger πŸš€ Live Demo

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages