This project implements a real-time communication platform that supports image, audio, and text messages, along with an AI-assisted chatbot named Chatterbot. The chatbot is powered by Gemini Flash, an advanced language model, to deliver intelligent and context-aware responses. The project optimizes image quality and format using Sharp.js, ensures efficient module bundling with Rollup and Vite, and manages user authentication and web notifications through Firebase-admin.
Check the application live here - https://chatterbox-kunal.web.app/
-
Real-time Communication:
- Supports image, audio, and text messaging using
socket.io
. - Ensures fast and reliable data transmission in real-time.
- Supports image, audio, and text messaging using
-
AI-Assisted Chatbot - Chatterbot:
- Powered by Gemini Flash, offering cutting-edge language understanding and response generation.
- Built using Langchain and VertexAI.
- Provides intelligent responses and contextual assistance.
-
Image Optimization:
- Utilizes
Sharp.js
to optimize image quality. - Converts images to the WEBP format to enhance performance.
- Utilizes
-
Efficient Code Bundling:
- Managed by
Rollup
andVite
. - Achieves a production size of just 64MB, optimizing for speed and storage.
- Managed by
-
User Authentication and Notifications:
- Managed by
Firebase-admin
to handle secure user authentication. - Sends real-time web notifications to users.
- Managed by
-
Clone the repository:
git clone https://github.com/its-kunal/chatterbox cd chatterbox
-
Install dependencies:
cd server && npm install cd ../client && npm install
-
Configure environment variables:
- Ensure that all necessary API keys, Firebase credentials, and other environment variables are properly set in a
.env
,.env.local
file.
- Ensure that all necessary API keys, Firebase credentials, and other environment variables are properly set in a
-
Run the development server:
cd server && npm run dev
-
Build for production:
npm run build
- Gemini Flash - The core LLM powering the AI-assisted chatbot, enabling advanced language processing and contextually intelligent interactions.
- Socket.io: For real-time, bidirectional communication.
- Langchain & VertexAI: Powering the AI-assisted chatbot.
- Sharp.js: Image processing and optimization.
- Rollup & Vite: Module bundlers for efficient builds.
- Firebase-admin: Managing user authentication and notifications.
Contributions are welcome! Please follow these steps:
-
Fork the repository.
-
Create a new branch.
git checkout -b feature/YourFeature
-
Commit your changes.
git commit -m "Add your feature"
-
Push to the branch.
git push origin feature/YourFeature
-
Open a Pull Request.