Smart and Centralized Tourism Management Application for a Eswatini
# Eswatini Tourism Management System
A smart and centralized tourism management platform for the Kingdom of Eswatini, developed as a BSc Computer Science final-year dissertation project at the University of Eswatini (UNESWA), Kwaluseni Campus.
**Student:** King | Student Number: 202105137
**Supervisor:** Mr. Sithole S.M.
**Institution:** University of Eswatini — Department of Computer Science
---
## Project Overview
Eswatini's tourism sector currently lacks a unified digital platform connecting tourists, tourism site administrators, and regulators. This system addresses that gap with an integrated application suite covering booking, payments, and administrative oversight of tourism sites across the country.
## System Architecture
The system follows a client-server architecture with a shared backend API consumed by three separate front-end applications.
```
PostgreSQL → TourismAPI (Backend) → Dashboards + Mobile App
```
| Component | Description | Tech Stack | Runs On |
|---|---|---|---|
| **TourismAPI** | Central backend serving all clients | ASP.NET Core 8 (C#), Stripe integration | `localhost:5096` |
| **PostgreSQL Database** | Primary data store | PostgreSQL, managed via pgAdmin 4 | `localhost:5432` |
| **Site Admin Dashboard** | Web dashboard for individual tourism site managers | React + Vite | `localhost:5173` |
| **Super Admin Dashboard** | Web dashboard for platform-wide administration and site approvals | React + Vite | `localhost:5174` |
| **EswatiniTourism (Mobile App)** | Tourist-facing mobile application | React Native (Expo) | Android Emulator / Device |
> **Important:** All frontend applications (Site Admin, Super Admin, Mobile App) depend on the TourismAPI backend. The database must be running first, then the API, before starting any frontend.
## Repository Structure
```
PROJECT/
├── TourismAPI/ # ASP.NET Core 8 backend API
├── site-admin-dashboard/ # React (Vite) dashboard for site administrators
├── super-adm …