How tinashe2023/eastern-sojourner works
Eastern Sojourner combines a North-East India tourism website with a Safety Hub and companion authentication app. The documented verification workflow is: a visitor opens the Safety Hub, obtains a QR challenge, scans it in the mobile app after biometric gating, and the backend verifies the signed location-bound payload; the web interface can then poll verification status. Tourism pages also provide destination and itinerary browsing. The sampled excerpts support the app-to-API verification and SOS calls; unsampled page wiring is represented only where the backend documents the capability.
Main entry points: server.js Safety API · ScanScreen.js QR Scanner · crypto-utils.js Nonce and Verification · api.js API Client
Components 20
Tourism Website
- Tourism Home
index.html - State Destinations
assam.html - State Content
states.js - Site Interactions
script.js
Safety Hub Web
- Safety Hub
safety/index.html - QR Connect
safety/connect.html - Safety Dashboard
safety/dashboard.html
Mobile Authentication
- Auth App
auth-app/App.js - Biometric Gate
auth-app/screens/BiometricGate.js - QR Scanner
auth-app/screens/ScanScreen.js - Key Signing
auth-app/utils/crypto.js - API Client
auth-app/utils/api.js - Verification Result
auth-app/screens/StatusScreen.js
Safety Backend
- Safety API
backend/server.js - Nonce and Verification
backend/crypto-utils.js - Nonce State
backend/crypto-utils.js - Incident State
backend/server.js
Other components
- Traveler
- Device Services
- Traveler
Connections 28
- Traveler → Tourism Home: browses
- Traveler → State Destinations: explores
- State Destinations → State Content: uses
- Tourism Home → Site Interactions: uses
- Traveler → Safety Hub: opens
- Safety Hub → QR Connect: continues
- QR Connect → Safety API: requests challenge
- Safety API → Nonce and Verification: generates nonce
- Nonce and Verification → Nonce State: stores nonce
- Safety API → QR Connect: returns QR data
- Traveler → Auth App: uses
- Auth App → Biometric Gate: navigates
- Biometric Gate → QR Scanner: unlocks
- Device Services → Biometric Gate: authenticates
- Device Services → QR Scanner: provides camera and GPS
- QR Scanner → Key Signing: requests keys and signature
- QR Scanner → API Client: submits payload
- API Client → Safety API: POST verify or SOS
- Safety API → Nonce and Verification: checks signature and nonce
- Nonce and Verification → Nonce State: consumes and marks
- Safety API → Incident State: records SOS
- API Client → QR Scanner: returns response
- QR Scanner → Verification Result: shows outcome
- Safety Dashboard → Safety API: polls verification status
- Safety API → Nonce and Verification: reads nonce status
- Safety API → Safety Dashboard: returns status and incidents
- Safety API → Incident State: reads recent incidents
- Traveler → API Client: reports SOS