How mm1itriq-dotcom/shmagh works
SHMAGH is a Jordan travel guide and trip-planning web application. A visitor can create an account, browse destinations, and request a generated journey; the browser calls a FastAPI backend, which reads and updates Firebase data and can use generative AI for itinerary planning. The interface also presents travel stories, gallery and cultural content, user profile features, and a currency converter. The README only names the product, and backend excerpts are partial, so links for unsampled features reflect documented routes or visible frontend requests only where supported.
Main entry points: main.py FastAPI application · firebase_config.py Firebase Firestore · destinations.js Destination browser · home.js Home experience
Components 21
Web experience
- Sign-in UI
frontend/js/app.js - Sign-in page
frontend/index.html - Destination browser
frontend/js/destinations.js - Destinations page
frontend/destinations.html - Home experience
frontend/js/home.js - Home page
frontend/home.html - Gallery page
frontend/gallery.html - Profile features
frontend/js/profile.js - Profile page
frontend/profile.html - Currency converter
frontend/js/converter.js
Backend API
- FastAPI application
backend/main.py - Account handling
backend/main.py - Travel catalog
backend/main.py - Journey planning
backend/main.py - Community content
backend/main.py - User profile
backend/main.py
Travel data
- Firebase Firestore
backend/firebase_config.py
External services
- Generative AI
- Open-Meteo
- Exchange-rate API
Other components
- Traveler
Connections 29
- Traveler → Sign-in page: opens
- Traveler → Destinations page: browses
- Traveler → Home page: explores
- Traveler → Gallery page: views
- Traveler → Profile page: manages account
- Sign-in page → Sign-in UI: loads
- Sign-in UI → Account handling: registers or logs in
- Destinations page → Destination browser: loads
- Destination browser → Travel catalog: requests destinations
- Destination browser → Journey planning: requests journey
- Home page → Home experience: loads
- Home experience → Community content: requests stories
- Home experience → Open-Meteo: fetches forecast
- Gallery page → Community content: gallery content
- Profile page → Profile features: loads
- Profile features → User profile: updates profile
- Profile features → Account handling: updates password
- Currency converter → Exchange-rate API: fetches rates
- FastAPI application → Account handling: dispatches
- FastAPI application → Travel catalog: dispatches
- FastAPI application → Journey planning: dispatches
- FastAPI application → Community content: dispatches
- FastAPI application → User profile: dispatches
- Account handling → Firebase Firestore: reads and writes
- Travel catalog → Firebase Firestore: reads
- Journey planning → Firebase Firestore: reads
- Journey planning → Generative AI: generates itinerary
- Community content → Firebase Firestore: reads and writes
- User profile → Firebase Firestore: reads and writes