UR Guide: Egypt tourism app (Cairo, Luxor, Aswan tours, hotels, GPS, currency, translate)
# UR Guide — Egypt Tourism App
A Flutter mobile tourism companion for Egypt (**UR_Guide**): city tours, hotels and
transport for **Cairo, Luxor and Aswan**, plus GPS location, currency conversion,
multi-language translation and PDF-based virtual classes.
## Features
- **City guides** — tours, hotels and transport ("transformations") screens per city:
- Cairo: `cairotour.dart`, `cairo_hotel.dart`, `cairo_transformation.dart`
- Luxor: `luxortour.dart`, `luxorhotels.dart`, `Luxortransformations.dart`
- Aswan: `aswantour.dart`, `aswanhotels.dart`, `aswantransformation.dart`
- Aggregators: `tourist_attractions_screen.dart`, `hotels_screen.dart`,
`transformations_screen.dart`
- **GPS + reverse geocoding** — `gps_screen.dart` (`geolocator` high-accuracy fix +
`geocoding` address lookup, runtime permission flow).
- **Translator** — `translate_screen.dart` with Google Translate across 9 languages
(en, hi, ar, de, ru, es, ur, ja, it).
- **Currency converter** — `convert_money_screen.dart`, USD ↔ EGP (configurable rate,
default 30.93).
- **Virtual classes** — `virtual_classes_screen.dart` PDF rendering via
`syncfusion_flutter_pdfviewer`.
- **Supporters** — `supporters_screen.dart` info page.
## Tech Stack
| Layer | Technology |
|------------|------------|
| Framework | Flutter (Dart SDK `>=3.1.3 =3.1.3`
- Android: location permissions; Google Maps/Play services on device for GPS
- Internet access (translation API + PDF assets)
### Run
```bash
flutter pub get
flutter run
```
> Note: `geolocator`, `geocoding`, `translator`, `permission_handler` and
> `syncfusion_flutter_pdfviewer` live under `dev_dependencies` in `pubspec.yaml`;
> move them to `dependencies` for release builds.
## Roadmap
- Live exchange-rate API instead of fixed rate
- Offline city packs
- Booking deep-links for hotels/transport
## License
MIT