A smart web application that helps you find restaurants near your location based on your budget, meal preferences, and dietary requirements. The app uses Google's Gemini AI to provide personalized restaurant recommendations and displays them on an interactive Google Maps interface.
- Multi-language Support: Available in English, Spanish, Chinese, Japanese, Korean, and Hindi
- Budget Filtering: Find restaurants within your specified budget range
- Meal Type Selection: Choose from Breakfast, Lunch, Dinner, or Snacks
- Dietary Preferences: Filter by Any, Vegan, Vegetarian, or Non-Veg options
- Cuisine Types: Select from various cuisines including American, Mexican, Indian, Japanese, Mediterranean, Chinese, Thai, Korean, or Any
- Location-based Search: Enter your zip code to find nearby restaurants
- Interactive Maps: View restaurant locations on Google Maps with directions
- Detailed Information: Get restaurant details including name, cuisine, address, price range, specialty, rating, and distance
The app provides a clean, user-friendly interface where you can:
- Select your preferences from dropdown menus
- Enter your budget and zip code
- Generate personalized restaurant recommendations
- View results on an interactive map
- Python 3.7 or higher
- Google API Key for Gemini AI
- Google Maps API Key
-
Clone the repository
git clone <repository-url> cd Budget-Meal-Maps
-
Install dependencies
pip install -r requirements.txt
-
Set up environment variables
Create a
.envfile in the project root and add your API keys:GOOGLE_API_KEY=your_gemini_api_key_here GOOGLE_MAP_API_KEY=your_google_maps_api_key_here -
Get API Keys
- Google Gemini API Key: Visit Google AI Studio to get your API key
- Google Maps API Key: Visit Google Cloud Console and enable the Maps Embed API
-
Run the application
python app.py
-
Open your browser
- The app will launch on
http://localhost:7860(or another port if 7860 is busy)
- The app will launch on
-
Configure your search
- Language: Select your preferred language
- Budget: Enter your maximum budget amount
- Meal Type: Choose Breakfast, Lunch, Dinner, or Snacks
- Diet Type: Select Any, Vegan, Vegetarian, or Non-Veg
- Cuisine Type: Choose from available cuisine options or "Any"
- Zip Code: Enter your current zip code for location-based results
-
Generate Results
- Click the "Generate" button
- View restaurant recommendations with detailed information
- Explore locations on the interactive Google Maps interface
- AI-Powered Recommendations: The app uses Google's Gemini 2.0 Flash model to generate restaurant recommendations based on your criteria
- JSON Processing: Restaurant data is returned in JSON format and processed for display
- Map Integration: Restaurant addresses are used to create interactive Google Maps with directions
- Multi-language Support: The AI model can provide recommendations in multiple languages
google.generativeai: Google's Gemini AI API clientgradio: Web interface frameworkpathlib: Path manipulation utilitiestextwrap: Text formatting utilitiespython-dotenv: Environment variable managementjson: JSON data processing
The app uses two main APIs:
- Model: gemini-2.0-flash
- Temperature: 0.9 (for creative responses)
- Max Output Tokens: 2000
- Response Format: JSON
- Purpose: Display interactive maps with restaurant locations
- Features: Directions, waypoints, and location visualization
Contributions are welcome! Please feel free to submit a Pull Request.
This project is open source and available under the MIT License.
If you encounter any issues or have questions, please open an issue on the repository.
Happy dining! 🍕🍜🍔