ChatSphere is a real-time messaging platform with AI-driven features, enabling seamless communication powered by Socket.io. It incorporates AI-based replies, multimedia sharing, customizable themes, and more, creating a personalized and dynamic chat experience for users.
- 💬 Real-time Messaging: Live chat powered by Socket.io, delivering seamless communication.
- 🤖 AI Chat: AI-driven replies via @ai prompts using the Gemini API and @imagine image generation via Hugging Face.
- 🎨 User Customization: 32 themes with live previews via DaisyUI for a personalized UX.
- 🖼️ Multimedia Support: Share text, images (Cloudinary), and emojis, with media preview options.
- 👤 Profile Management: Cloud-based profile picture upload and read-only account details.
- 🌐 Live User Status: View online users with status indicators, and search/filter users.
- 👀 Chat Preview: Preview chat experience for both authenticated and guest users.
- 🔐 Authentication: Secure JWT token-based authentication for user validation.
You can view the live preview of the project here.
-
Fork this repository: Click the Fork button located in the top-right corner of this page.
-
Clone the repository:
git clone https://github.com/<your-username>/fullstack-chat-app.git
-
Create .env file: Inside the Backend directories create
.envand set:Backend:
PORT = 4001 MONGODB_URI = YourMongoDBURI JWT_SECRET = YourSecretKey CLOUDINARY_CLOUD_NAME = YourCloudinaryCloudName CLOUDINARY_API_KEY = YourCloudinaryAPIKey CLOUDINARY_API_SECRET = YourCloudinaryAPISecret GOOGLE_AI_KEY = gemini API key Test = hugging face API key NODE_ENV = development
-
Install dependencies:
npm install # Run in both Frontend and Backend directories -
Start the servers: Frontend:
cd Frontend npm run devBackend:
cd Backend npm run dev -
Access the application:
http://localhost:5173/
If you find this helpful or valuable, please consider 🌟 starring the repository. It helps us gain visibility and encourages further development. We appreciate your support!
For questions or inquiries, please contact Neeraj Gupta.