AI-powered web application that helps tourists and locals better explore Algeria.
# MyGuide - AI-Powered Tourism App for Algeria
## Overview
MyGuide is an AI-powered tourism application designed to help tourists explore Algeria by providing personalized trip recommendations, interactive maps, and comprehensive information about provinces, districts, municipalities, and places of interest.
## Features
- **AI-Powered Trip Planning**: Autonomous trip recommendation system with multi-criteria optimization
- **RAG Chatbot**: Retrieval-Augmented Generation chatbot with LLM integration (Ollama/OpenAI)
- **AI Content Moderation**: Machine learning-based spam detection for user-generated content
- **Interactive Maps**: Real-time visualization of places and trip routes
- **User Management**: Normal users and admin roles with JWT authentication
- **Place Management**: Comprehensive database of tourist attractions, restaurants, parks, etc.
- **Feedback System**: User reviews and ratings with AI-powered content filtering
- **Subscription Management**: Multi-tier subscription system with Stripe integration
- **Payment Processing**: Secure payment handling with subscription billing
## AI/ML Technologies Overview
### 🤖 Intelligent Trip Planning System
- **Autonomous Planning Algorithms**: Multi-criteria decision-making for optimal itinerary generation
- **Hybrid Recommendation Engine**: Combines collaborative filtering, content-based filtering, and popularity-based recommendations
- **Dynamic Optimization**: Real-time budget allocation, activity scheduling, and destination selection
- **Confidence Scoring**: AI-powered trip quality assessment with weighted feature analysis
### 🧠 RAG (Retrieval-Augmented Generation) Chatbot
- **LLM Integration**: Dual-provider support (Ollama for local inference, OpenAI GPT-3.5-turbo as fallback)
- **Vector Search**: TF-IDF vectorization with cosine similarity for knowledge retrieval
- **Context-Aware Conversations**: Multi-turn dialogue with conversation history management
- **Intelligent Fallback**: Rule-based responses …