A comprehensive AI-powered restaurant chatbot with voice capabilities, intelligent booking system, and a stunning Streamlit interface.
- 🤖 AI Chatbot: Powered by Google Gemini AI for intelligent conversations
- 🎤 Voice Input/Output: Speak your questions and hear responses
- 📅 Smart Booking System: Real-time reservation management with availability checking
- 🍽️ Complete Menu: Browse our full menu with dietary information
- 💎 Premium UI: Beautiful glassmorphic design with smooth animations
- 📊 Real-time Analytics: View booking statistics and popular items
- Python 3.8 or higher
- Microphone (for voice features)
- Google Gemini API key
-
Clone or download this project
-
Install dependencies:
pip install -r requirements.txt-
Set up your API key:
- The
.envfile is already configured with your Gemini API key - If you need to change it, edit the
.envfile
- The
-
Run the application:
streamlit run app.py- Open your browser:
- The app will automatically open at
http://localhost:8501
- The app will automatically open at
- Navigate to "💬 Chat Assistant"
- Type your questions or enable voice input
- Ask about menu items, hours, dietary options, or recommendations
- Get instant AI-powered responses
- Go to "📅 Make Reservation"
- Fill in your details (name, email, phone)
- Select date, time, and party size
- Add any special requests
- Confirm your booking
- Enable "Voice Input" in the sidebar
- Click "🎤 Listen" to speak your question
- The AI will respond with both text and voice
- Visit "🍽️ View Menu"
- Select a category (Appetizers, Main Courses, Pasta, Desserts, Beverages)
- View detailed descriptions, prices, and dietary information
- Look for ⭐ (popular) and 👨🍳 (chef's special) indicators
- Natural language understanding
- Context-aware conversations
- Menu recommendations
- Dietary restriction assistance
- Restaurant information
- SQLite database for reservations
- Real-time availability checking
- Capacity management (100 guests)
- Email and phone validation
- Special requests handling
- Speech-to-text using Google Speech Recognition
- Text-to-speech using gTTS
- Automatic audio playback
- Error handling for unclear speech
- Glassmorphic design
- Gradient backgrounds
- Smooth animations
- Responsive layout
- Custom color palette
- Google Fonts (Playfair Display, Inter)
restaurant-chatbot/
├── app.py # Main Streamlit application
├── chatbot_engine.py # AI chatbot logic
├── booking_system.py # Reservation management
├── voice_handler.py # Speech recognition & TTS
├── restaurant_data.py # Menu and restaurant info
├── config.py # Configuration settings
├── requirements.txt # Python dependencies
├── .env # Environment variables
└── README.md # This file
Edit config.py to customize:
- Restaurant name and information
- Operating hours
- Booking time slots
- Maximum party size
- Restaurant capacity
Edit restaurant_data.py to:
- Add/remove menu items
- Update prices
- Modify descriptions
- Set dietary information
- Mark popular items
- Ensure your microphone is connected
- Grant microphone permissions to your browser
- Check microphone settings in your OS
- Verify your Gemini API key is correct in
.env - Check your internet connection
- Ensure you haven't exceeded API rate limits
- Delete
restaurant_bookings.dbto reset the database - The database will be recreated automatically
The app uses custom CSS for premium aesthetics:
- Glassmorphism effects
- Gradient backgrounds
- Smooth transitions
- Hover animations
- SQLite database for persistent storage
- Automatic table creation
- Booking history tracking
- Status management (confirmed/cancelled)
- Voice features require an active internet connection
- The chatbot uses Google Gemini Pro model
- All bookings are stored locally in SQLite
- The app supports up to 100 concurrent guests
Potential improvements:
- Email confirmation for bookings
- SMS notifications
- Payment integration
- Multi-language support
- Customer reviews system
- Loyalty program
For issues or questions:
- Check the troubleshooting section
- Review the code comments
- Test with simple queries first
Built with:
- Streamlit
- Google Gemini AI
- SpeechRecognition
- gTTS
- SQLite
Enjoy your premium restaurant chatbot experience! 🍽️✨