AI-Powered Meeting Spot Recommendation System
Intelligent meeting point recommendation system based on Eko AI framework, featuring multi-agent collaboration and natural language-driven location suggestions.
π― AI-Driven Intelligence | π€ Multi-Agent Architecture | π Natural Language Interface
- π€ Multi-Agent Intelligence - Distributed AI architecture based on Eko framework
- π Smart Geographic Analysis - Integrated with Amap API for precise location calculations
- π¬ Natural Language Interaction - Describe needs in simple language, AI understands intelligently
- π― Personalized Recommendations - Smart ranking algorithm based on user preferences
- π± Responsive Interface - Modern UI adapted for PC and mobile devices
- β‘ Real-time Processing - Asynchronous processing for fast responses
Frontend (HTML/CSS/JS)
β
FastAPI Backend
β
Eko AI Framework
β
Multi-Agent System
β
- LocationAgent (Geographic Processing)
- POISearchAgent (Venue Search)
- RecommendationAgent (Smart Recommendations)
- VisualizationAgent (Result Visualization)
- Backend: Python + FastAPI
- AI Framework: Eko AI Framework
- LLM: OpenRouter (Claude-3.5-Sonnet)
- Map Services: Amap (Gaode Map) API
- Frontend: HTML5 + CSS3 + JavaScript
- Type System: TypeScript (Tool Development)
EkoMeet is an intelligent meeting point recommendation system that calculates optimal meeting locations based on multiple participants' geographical positions and recommends nearby venues.
- π― Smart Center Point Calculation: Calculate geometric center based on multiple locations for fairness
- π’ Multi-Scenario Recommendations: Search multiple venue types simultaneously (cafes + restaurants + libraries)
- π Multi-Location Support: Support 2-10 participant locations
- π¨ Intuitive User Interface: Modern responsive design
- π Real-time Recommendations: Generate personalized recommendations quickly
- π Intelligent Ranking: Comprehensive sorting based on ratings, distance, and user requirements
- β Multi-Scenario Recommendations: Support simultaneous selection of multiple venue types
- β Frontend Multi-Selection: Intuitive venue type selection interface
- β Smart Ranking Algorithm: Scenario matching reward mechanism
- β Performance Monitoring: Complete performance statistics and health checks
- β Error Handling: Robust exception handling mechanism
- Python 3.11+
- Amap (Gaode Map) API Key
- Modern browsers (Chrome, Firefox, Safari, Edge)
- Clone Repository
git clone https://github.com/JasonRobertDestiny/EkoMeet.git
cd EkoMeet- Install Dependencies
pip install -r requirements.txt- Configure API Key
cp config/config.toml.example config/config.tomlEdit config/config.toml and add your Amap API key:
[amap]
api_key = "your_amap_api_key_here"- Start Service
python web_server.py- Access Application Open browser and visit: http://127.0.0.1:8000
- Input Locations: Add 2-10 participant locations
- Select Scenarios: Choose 1-3 venue types (cafes, restaurants, libraries, etc.)
- Set Requirements: Add special requirements (convenient parking, quiet environment, etc.)
- Get Recommendations: Click search to get intelligent recommendations
- Multi-Scenario Combination: Search "cafe restaurant" simultaneously for more options
- Custom Keywords: Enter special venue types like "escape room"
- Filter Conditions: Filter by rating, distance, price
- Special Requirements: Support parking, Wi-Fi, private rooms, etc.
- FastAPI: High-performance web framework
- Pydantic: Data validation and settings management
- aiohttp: Async HTTP client
- Amap API: Geocoding and POI search
- HTML5 + CSS3: Responsive design
- Vanilla JavaScript: Lightweight interaction
- Boxicons: Icon library
- Modern UI Design: Gradients and glass effects
- Geometric Center Calculation: Multi-point centroid algorithm
- Intelligent Ranking: Multi-factor scoring system
- Scenario Matching: Keyword matching reward
- Deduplication Algorithm: Smart deduplication based on name and address
GET /- Homepage redirectPOST /api/find_meetspot- Meeting point recommendationGET /health- Health checkGET /workspace/js_src/{filename}- Generated recommendation pages
curl -X POST "http://127.0.0.1:8000/api/find_meetspot" \
-H "Content-Type: application/json" \
-d '{
"locations": ["Beijing University", "Tsinghua University"],
"keywords": "cafe restaurant",
"user_requirements": "convenient parking"
}'{
"success": true,
"html_url": "/workspace/js_src/place_recommendation_20250624_12345678.html",
"locations_count": 2,
"keywords": "cafe restaurant",
"processing_time": 0.52
}# Create virtual environment
python -m venv venv
source venv/bin/activate # Linux/Mac
# or
venv\Scripts\activate # Windows
# Install dependencies
pip install -r requirements.txt- Follow PEP8 Python coding standards
- Use type hints for better code documentation
- Write comprehensive docstrings
- Format code before committing
# Start development server
python web_server.py
# Or using npm scripts
npm run devSupported deployment platforms:
- Render: Using
render.yamlconfiguration - Railway: Auto-detection deployment
- Docker: Containerized deployment
- Traditional Server: Using Nginx + Gunicorn
Required environment variables:
AMAP_API_KEY: Amap (Gaode Map) API keyPORT: Service port (default 8000)
Optional environment variables:
PYTHON_ENV: Runtime environment (development/production)LOG_LEVEL: Logging level (default info)
We welcome contributions of all kinds!
- Fork the project
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
If you find a bug or have a feature suggestion:
- Check existing Issues
- Create a detailed Issue description
- Provide reproduction steps and environment info
This project is licensed under the MIT License - see the LICENSE file for details.
- Project Link: https://github.com/JasonRobertDestiny/EkoMeet
- Bug Reports: Issues
- Feature Requests: Discussions
- Eko AI Framework - Powerful AI framework support
- Amap (Gaode Map) API - Precise geographic information services
- FastAPI - Modern web framework
- Boxicons - Beautiful icon library
If this project helps you, please give it a βοΈ!



