A full-stack AI-powered virtual assistant built with React and Node.js, featuring voice recognition, speech synthesis, and intelligent responses powered by Google's Gemini AI.
- Voice Recognition: Hands-free interaction using speech recognition
- AI-Powered Responses: Intelligent responses using Google Gemini AI
- User Authentication: Secure signup/login with JWT tokens
- Customizable Assistant: Personalize your AI assistant's name and appearance
- Real-time Communication: Voice-to-voice interaction with your assistant
- Modern UI: Beautiful, responsive design with Tailwind CSS
- React 18
- Vite
- Tailwind CSS
- Axios for API calls
- React Router for navigation
- Node.js
- Express.js
- MongoDB with Mongoose
- JWT for authentication
- bcryptjs for password hashing
- CORS enabled for cross-origin requests
- Google Gemini AI API
- Speech Recognition API
- Speech Synthesis API
quickAi/
├── client/ # React frontend
│ ├── src/
│ │ ├── components/ # Reusable components
│ │ ├── pages/ # Page components
│ │ ├── context/ # React context for state management
│ │ └── assets/ # Static assets
├── server/ # Node.js backend
│ ├── config/ # Database and token configuration
│ ├── controllers/ # Route controllers
│ ├── middleware/ # Custom middleware
│ ├── models/ # Database models
│ ├── routes/ # API routes
│ └── server.js # Main server file
└── package.json # Root package.json
- Node.js (v14 or higher)
- MongoDB database
- Google Gemini AI API key
-
Clone the repository
git clone https://github.com/PragyaTripathi990/Quick_AI.git cd Quick_AI -
Install dependencies
# Install root dependencies npm install # Install client dependencies cd client npm install cd ..
-
Environment Setup Create a
.envfile in theserver/directory:MONGODB_URL=your_mongodb_connection_string JWT_SECRET=your_jwt_secret_key GEMINI_API_URL=https://generativelanguage.googleapis.com/v1beta/models/gemini-2.0-flash:generateContent?key=YOUR_GEMINI_API_KEY PORT=8000
-
Start the development servers
# Start backend server npm run dev # In another terminal, start frontend cd client npm run dev
-
Access the application
- Frontend: http://localhost:5177
- Backend API: http://localhost:8000
- Sign Up: Create a new account with your name, email, and password
- Customize Assistant: Choose your assistant's name and appearance
- Start Talking: Say your assistant's name to activate voice recognition
- Interact: Ask questions, request actions, or have conversations with your AI assistant
POST /api/auth/signup- User registrationPOST /api/auth/signin- User loginGET /api/auth/logout- User logout
GET /api/user/current- Get current user dataPOST /api/user/update- Update user profilePOST /api/user/asktoassistant- Send command to AI assistant
- Continuous listening for assistant activation
- Automatic speech-to-text conversion
- Error handling for microphone permissions
- Context-aware responses using Gemini AI
- Support for various command types (search, calculator, social media, etc.)
- Personalized responses based on user data
- Responsive design for all devices
- Real-time status indicators
- Smooth animations and transitions
- History tracking for conversations
- Set up MongoDB Atlas or local MongoDB
- Configure environment variables
- Deploy to platforms like Heroku, Railway, or Vercel
- Build the React app:
npm run build - Deploy to platforms like Netlify, Vercel, or GitHub Pages
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit your changes:
git commit -m 'Add some feature' - Push to the branch:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License - see the LICENSE file for details.
- Google Gemini AI for intelligent responses
- React and Node.js communities
- Tailwind CSS for styling
- All open-source contributors
QuickAI - Your intelligent virtual assistant powered by AI! 🤖✨