An AI-powered web application for personalized tourist itineraries in Morocco. Features include route optimization, cost prediction, interactive maps, and user-friendly recommendations, developed with React.js, FastAPI, and PostgreSQL
# Tourism-IA-Planner 🌍
Live Demo
An AI-powered web application for generating personalized tourist itineraries in Morocco. This platform leverages artificial intelligence to create optimized travel plans based on user preferences, budget constraints, and interests.
## 🌟 Features
- **AI-Powered Itinerary Generation**
- Personalized travel plans based on user preferences
- Smart budget optimization
- Automatic route planning and scheduling
- Real-time cost predictions
- **Interactive User Interface**
- Intuitive travel planning dashboard
- Real-time chat assistance
- Interactive maps of destinations
- Visual itinerary representation
- **Smart Recommendations**
- Personalized activity suggestions
- Accommodation recommendations
- Transportation options
- Local attractions and experiences
- **User Management**
- Secure authentication (Email & Google OAuth)
- Profile customization
- Favorite itineraries saving
- Travel history tracking
## 🛠️ Technology Stack
### Frontend
- React.js
- Tailwind CSS
- Framer Motion (animations)
- React Router (navigation)
- Recharts (data visualization)
- Axios (API requests)
### Backend
- FastAPI (Python)
- PostgreSQL (database)
- SQLAlchemy (ORM)
- OpenAI API (AI integration)
- JWT Authentication
- Alembic (database migrations)
### DevOps & Deployment
- Docker
- Vercel (Frontend hosting)
- Render (Backend hosting)
- GitHub Actions (CI/CD)
- PostgreSQL (Production database)
## 🚀 Getting Started
### Prerequisites
- Python 3.8+
- Node.js 16+
- PostgreSQL
- OpenAI API key
### Local Development Setup
1. **Clone the repository**
```bash
git clone
github.com
cd Tourism-IA-Planner
```
2. **Backend Setup**
```bash
# Create and activate virtual environment
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies
pip install -r requirements.txt
# Set up environment variables
cp .env.example .env
# Edit .env with your configurations
# Run d …