# Rwanda Tourism Destination Recommendation System
**Machine Learning-Based Tourism Destination Recommendation System for Rwanda**
Stacking Ensemble (XGBoost + LightGBM + Random Forest) — 99.79% accuracy
---
## Requirements
Before running, install:
- **Python 3.10+** —
python.org *(check "Add to PATH")*
- **Node.js 18+** —
nodejs.org
---
## First Time Setup (New Computer)
1. Copy the entire `Tourism_Destination` folder to the computer
2. Double-click **`SETUP_FIRST_TIME.bat`**
3. Wait 5–10 minutes for all dependencies to install
---
## Running the System
**Step 1** — Double-click **`START_BACKEND.bat`** → keep window open
**Step 2** — Double-click **`START_FRONTEND.bat`** → keep window open
**Step 3** — Open Chrome and go to: **
http://localhost:5173**
---
## Admin Login
| Field | Value |
|----------|----------------------------|
| Email | pacifichopes@gmail.com |
| Password | Admin@123 |
> Change the password after first login from Profile → Password tab.
---
## System Features
- **ML Recommendations** — 99.79% accurate stacking ensemble model
- **100 Rwanda destinations** across 7 categories
- **Interactive Map** — OpenStreetMap with driving routes from Kigali
- **Admin Panel** — user management, access requests, logs, reports
- **Security** — JWT auth, bcrypt passwords, rate limiting, account lockout
---
## Project Structure
```
Tourism_Destination/
├── backend/ Flask REST API + ML service
├── frontend/ React 18 web application
├── ml-model/ Trained models + dataset
├── Images/ Destination photos
├── START_BACKEND.bat Run backend
├── START_FRONTEND.bat Run frontend
└── SETUP_FIRST_TIME.bat First-time setup
```
---
## Troubleshooting
**"Module not found" error**
→ Run `SETUP_FIRST_TIME.bat` again
**"Port already in use"**
→ Close any other terminal windows running the project
**Login not working**
→ Make sure `START_BACKEND.ba …