Skip to content

Intelligent Meeting Point Recommendation System - Find the Perfect Place for Every Gathering

License

Notifications You must be signed in to change notification settings

coderedeng/MeetSpot

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

68 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

MeetSpot ๐Ÿ—บ๏ธ

MeetSpot Logo

Intelligent Meeting Point Recommendation System - Find the Perfect Place for Every Gathering

License: MIT Python 3.11+ FastAPI Build Status

English | ็ฎ€ไฝ“ไธญๆ–‡

๐Ÿ“ฑ Screenshots

Main Interface

Main Interface

Multi-Venue Selection

Multi-Venue Selection

Recommendation Results

Recommendation Results

Detailed Information

Detailed Information

๐ŸŒŸ Features

MeetSpot is an intelligent meeting point recommendation system that calculates optimal meeting locations based on multiple participants' geographical positions and recommends nearby venues.

โœจ Core Features

  • ๐ŸŽฏ 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

๐Ÿ”ฅ Latest Optimizations

  • โœ… 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

๐Ÿš€ Quick Start

Requirements

  • Python 3.11+
  • Amap (Gaode Map) API Key
  • Modern browsers (Chrome, Firefox, Safari, Edge)

Installation

  1. Clone Repository
git clone https://github.com/JasonRobertDestiny/MeetSpot.git
cd MeetSpot
  1. Install Dependencies
pip install -r requirements.txt
  1. Configure API Key
cp config/config.toml.example config/config.toml

Edit config/config.toml and add your Amap API key:

[amap]
api_key = "your_amap_api_key_here"
  1. Start Service
python web_server.py
  1. Access Application Open browser and visit: http://127.0.0.1:8000

๐Ÿ“ฑ Usage

Basic Usage

  1. Input Locations: Add 2-10 participant locations
  2. Select Scenarios: Choose 1-3 venue types (cafes, restaurants, libraries, etc.)
  3. Set Requirements: Add special requirements (convenient parking, quiet environment, etc.)
  4. Get Recommendations: Click search to get intelligent recommendations

Advanced Features

  • 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.

๐Ÿ—๏ธ Technology Architecture

Backend Stack

  • FastAPI: High-performance web framework
  • Pydantic: Data validation and settings management
  • aiohttp: Async HTTP client
  • Amap API: Geocoding and POI search

Frontend Stack

  • HTML5 + CSS3: Responsive design
  • Vanilla JavaScript: Lightweight interaction
  • Boxicons: Icon library
  • Modern UI Design: Gradients and glass effects

Core Algorithms

  • 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

๐Ÿ“Š API Documentation

Main Endpoints

  • GET / - Homepage redirect
  • POST /api/find_meetspot - Meeting point recommendation
  • GET /health - Health check
  • GET /workspace/js_src/{filename} - Generated recommendation pages

Request Example

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"
  }'

Response Example

{
  "success": true,
  "html_url": "/workspace/js_src/place_recommendation_20250624_12345678.html",
  "locations_count": 2,
  "keywords": "cafe restaurant",
  "processing_time": 0.52
}

๐Ÿงช Testing

Complete test suite included:

# Run all tests
python test_optimizations.py      # System optimization tests
python test_multi_scenario.py     # Multi-scenario feature tests
python comprehensive_test.py      # Comprehensive feature tests

# Health check
curl http://127.0.0.1:8000/health

๐Ÿ“ˆ Performance Metrics

  • Response Time:

    • Single scenario: 0.3-0.4 seconds
    • Dual scenario: 0.5-0.6 seconds
    • Triple scenario: 0.7-0.8 seconds
  • Support Scale:

    • Locations: 2-10
    • Scenarios: 1-3
    • Concurrent users: 100+

๐Ÿ›ฃ๏ธ Roadmap

v1.1.0 (Planned)

  • User account system
  • History saving
  • Favorites feature
  • Share recommendations

v1.2.0 (Planned)

  • Machine learning recommendations
  • Real-time traffic information
  • Weather data integration
  • Mobile app

v2.0.0 (Long-term)

  • AR navigation
  • Voice interaction
  • Internationalization
  • Enterprise features

๐Ÿค Contributing

We welcome all forms of contributions! Please see CONTRIBUTING.md for details.

๐Ÿ“„ License

This project is open source under the MIT License - see LICENSE file for details.

๐Ÿ“ž Contact

๐Ÿ™ Acknowledgments

  • Amap - Providing geocoding and POI search services
  • FastAPI - Excellent web framework
  • Boxicons - Beautiful icon library

If this project helps you, please give it a โญ Star!

Made with โค๏ธ by JasonRobertDestiny

Star History Chart

About

Intelligent Meeting Point Recommendation System - Find the Perfect Place for Every Gathering

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • HTML 89.3%
  • Python 10.5%
  • Other 0.2%