A modern virtual assistant designed specifically for tourism in Morocco. It offers personalized travel recommendations about attractions, culture, local customs, accommodations, and logistics
# Morocco Tour Guide - AI-Powered Virtual Tourist Guide
An intelligent virtual guide that provides personalized information about Morocco's attractions, culture, and travel recommendations using **Retrieval Augmented Generation (RAG)** and **LLM technologies**.
## 🌟 Features
- **Intelligent Conversational Interface**: Chat naturally with an AI tour guide specialized in Moroccan tourism.
- **Cultural Context**: Learn about Moroccan history, traditions, cuisine, and local customs.
- **Up-to-date Information**: Access information about attractions, accommodations, and travel logistics.
- **User Authentication**: Secure login system to save conversations and preferences.
## 🏗️ Architecture
This application uses a modern architecture with the following components:
- **Frontend**: React-based UI with responsive design for all devices.
- **Backend**: FastAPI serving the application logic and AI integration.
- **RAG System**: Retrieval Augmented Generation providing accurate, context-aware responses.
- **Vector Database**: Qdrant storing embeddings of Moroccan tourism information.
- **User Database**: MongoDB Atlas for user data and conversation history.
- **AI Services**: Integration with Google's Gemini for response generation and Cohere for text embeddings.
- **Deployment**: Containerized with Docker and deployed on Azure Container Apps.
## 🚀 Getting Started
### Prerequisites
Ensure you have the following installed:
- Docker and Docker Compose
- Node.js (for frontend development)
- Python 3.9+ (for backend development)
- API keys for:
- MongoDB Atlas
- Google Gemini
- Cohere
- Qdrant
### Environment Variables
Create a **.env** file in the root directory and add the following variables:
```env
MONGODB=your_mongodb_connection_string
URL=
localhost
JWT_SECRET_KEY=your_jwt_secret_key
GEMINI_API_KEY=your_gemini_api_key
COHERE_API_KEY=your_cohere_api_key
QDRANT_API_KEY=your_qdrant_api_key
```
### Running with Docker
#### Clone the repository:
```bash
git cl …