Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

AI-Powered Tourism Assistant for Saudi Arabia combines RAG, Speech, and Computer Vision to deliver intelligent, interactive cultural exploration.

Notifications You must be signed in to change notification settings

Mudhawish/Sawwah

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

15 Commits

Repository files navigation

🌸 SAWWAH β€” Discover Saudi Arabia Digitally

SAWWAH is a comprehensive digital tourism platform that redefines how visitors explore Saudi Arabia.
It combines modern technology with authentic Saudi heritage to provide a seamless and engaging tourism experience aligned with Vision 2030.


Overview

SAWWAH allows users to explore cities, cultural figures, and national projects across the Kingdom of Saudi Arabia.
The platform highlights the beauty, diversity, and history of the Kingdom while leveraging modern web technologies to present data interactively and intuitively.

✨ Key Highlights

  • +150 Tourist Destinations
  • +100 Notable Figures
  • 5 Major Tourist Cities
  • +30 Vision 2030 Projects
  • Lavender Theme β€” Inspired by Saudi Arabia’s official color for welcoming guests, representing elegance and harmony with the desert landscape.

🎯 Project Goals

  1. Enhance Saudi Tourism
    Build a modern digital platform that merges innovation and culture to serve both visitors and investors.

  2. Improve Visitor Experience
    Provide detailed and organized information about destinations, figures, and national initiatives.

  3. Support Vision 2030
    Contribute to Saudi Arabia’s vision of becoming a leading global tourism destination.


🧩 Features

  • Interactive exploration of tourism destinations by city
  • Profiles of historical and cultural figures
  • Overview of Vision 2030 projects
  • Fully responsive Flask-based web interface
  • Clean and elegant UI with lavender accents

πŸ—‚οΈ Project Structure

Project Structure

SAWWAH/
β”œβ”€β”€ data/
β”‚ β”œβ”€β”€ raw/
β”‚ β”‚ β”œβ”€β”€ English_Characters.xlsx
β”‚ β”‚ β”œβ”€β”€ English_Cities.xlsx
β”‚ β”‚ └── English_Projects.csv
β”‚ └── cleaned/
β”‚ β”œβ”€β”€ English_Characters_Cleaned.xlsx
β”‚ β”œβ”€β”€ English_Cities_Cleaned.xlsx
β”‚ └── English_Projects_Cleaned.xlsx
β”œβ”€β”€ notebooks/
β”‚ β”œβ”€β”€ Data_Cleaning_and_Preprocessing.ipynb
β”‚ β”œβ”€β”€ RAG_Evaluation.ipynb
β”‚ β”œβ”€β”€ RAG_Speech.ipynb
β”‚ β”œβ”€β”€ Sawwah_Dashboard.ipynb
β”‚ └── Sawwah_EDA.ipynb
β”œβ”€β”€ report/
β”‚ └── Sawwah_final_report.pdf
β”œβ”€β”€ results/
β”‚ β”œβ”€β”€ Human Evaluation.xlsx
β”‚ β”œβ”€β”€ rag_evaluation_results_relevant_and_accuracy.xlsx
β”‚ └── rag_evaluation_results.csv
β”œβ”€β”€ web_app/
β”‚ β”œβ”€β”€ app.py
β”‚ β”œβ”€β”€ requirements.txt
β”‚ β”œβ”€β”€ static/
β”‚ β”‚ β”œβ”€β”€ css/
β”‚ β”‚ β”‚ └── style.css
β”‚ β”‚ β”œβ”€β”€ js/
β”‚ β”‚ β”‚ └── script.js
β”‚ β”‚ └── images/
β”‚ β”‚ β”œβ”€β”€ bg.jpg
β”‚ β”‚ └── sawwah_logo.png
β”‚ └── templates/
β”‚ β”œβ”€β”€ about.html
β”‚ β”œβ”€β”€ base.html
β”‚ β”œβ”€β”€ camera.html
β”‚ β”œβ”€β”€ data.html
β”‚ β”œβ”€β”€ project.html
β”‚ └── why.html
└── README.md

πŸ“ Folder summary

  • data/: raw source files and cleaned datasets used by the app and notebooks.
  • notebooks/: Jupyter notebooks for preprocessing, RAG experiments, dashboard work, and EDA.
  • report/: final project report.
  • results/: evaluation outputs and spreadsheets.
  • web_app/: Flask application, static assets, and templates.
  • README.md: project documentation.

πŸ—‚οΈ Dataset

The platform utilizes three structured datasets stored as CSV/Excel files:

Dataset Description
Cities Contains information about Saudi cities and key destinations
Characters Includes profiles of notable Saudi figures
Projects Covers Vision 2030 projects and their descriptions

All datasets were cleaned and processed in Python to ensure accuracy, consistency, and readability.


πŸ› οΈ Tech Stack

Category Technologies
Frontend HTML, CSS, JavaScript
Backend Python (Flask)
Data Handling Pandas, NumPy
Visualization Plotly, Matplotlib
Speech Module gTTS, AssemplyAI
Computer Vision OpenCV, MediaPipe
Design Figma
Hosting Local Flask Server

πŸŽ₯ Demo

🎬 Watch Demo: YouTube Video


πŸ§‘β€πŸ’» Project Contributors

This project was collaboratively developed by a dedicated team of engineers and researchers:

  • Areen Alyahya (@chrollolucifr)
  • Mudhawi Alshiha (@Mudhawish)
  • Nouf Almutairi (@itsnouf)
  • Shams Alarifi ()
  • Wajd Alrabiah (@WajdAlrabiah)

πŸͺ· Design Inspiration

The visual identity of SAWWAH is inspired by the color Lavender, officially adopted by the Kingdom of Saudi Arabia to welcome guests.
Lavender symbolizes beauty, hospitality, and harmony with the desert, perfectly reflecting SAWWAH’s vision of connecting authentic Saudi culture with modern digital experiences.


πŸš€ Installation & Setup

Prerequisites:

  • Python 3.10+
  • Git installed on your system

1️⃣ Clone the Repository

git clone https://github.com/chrollolucifr/Sawwah.git
cd Sawwah

2️⃣ Create & Activate a Virtual Environment

For macOS / Linux:

python3 -m venv .venv
source .venv/bin/activate

For Windows (PowerShell):

python -m venv .venv
.\.venv\Scripts\Activate.ps1

3️⃣ Install Dependencies

pip install --upgrade pip
pip install -r web_app/requirements.txt

4️⃣ Verify or Place Cleaned Datasets

Ensure the following cleaned datasets are available in the project directory:

  • data/cleaned/English_Cities_Cleaned.xlsx
  • data/cleaned/English_Characters_Cleaned.xlsx
  • data/cleaned/English_Projects_Cleaned.xlsx

If missing, regenerate them by running the data-cleaning notebook:

jupyter notebook notebooks/Data_Cleaning_and_Preprocessing.ipynb
# then run the notebook cells to produce the cleaned files

5️⃣ Launch the Web Application

python web_app/app.py

Once the server starts, open your browser and visit: http://127.0.0.1:5000


Optional: Run Jupyter Notebooks

To explore data preprocessing or perform exploratory data analysis (EDA):

pip install notebook
jupyter notebook

Then open:

  • notebooks/Data_Cleaning_and_Preprocessing.ipynb
  • notebooks/Sawwah_EDA.ipynb

βš™οΈ Optional Configuration

  • Change port: edit web_app/app.py:
app.run(host="0.0.0.0", port=5000, debug=True)
  • Modify dataset paths: if datasets are renamed or moved, update their paths inside app.py.

πŸ›Ÿ Troubleshooting

Issue Solution
ModuleNotFoundError Re-activate virtual environment and reinstall dependencies:
source .venv/bin/activate (macOS/Linux) or activate the venv on Windows, then pip install -r web_app/requirements.txt
Dataset not found Confirm cleaned dataset files exist in data/cleaned/
Port already in use Edit the port number in app.py, e.g., port=5050
Jupyter notebook won't open Run: jupyter notebook --no-browser and copy the generated URL from the terminal

Your SAWWAH app is now ready to explore! Run the Flask app, open your browser, and enjoy discovering Saudi Arabia digitally 🌸

About

AI-Powered Tourism Assistant for Saudi Arabia combines RAG, Speech, and Computer Vision to deliver intelligent, interactive cultural exploration.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 97.5%
  • HTML 1.3%
  • CSS 1.1%
  • Other 0.1%

AltStyle γ«γ‚ˆγ£γ¦ε€‰ζ›γ•γ‚ŒγŸγƒšγƒΌγ‚Έ (->γ‚ͺγƒͺγ‚ΈγƒŠγƒ«) /