How missionadak/orcav2 works
ORCA is a maritime safety and search-and-rescue product with a mobile client and a FastAPI backend. The user-facing workflow runs from mobile navigation to marine forecasts, chat, or SAR incident creation through the API client; backend SAR endpoints support incident, search-zone, rescue, evidence, and mission-package operations. The tree also shows offline SOS queuing and synchronization, plus environmental ingestion and risk scoring. Sampled excerpts are partial, so links among unsampled screens, agents, and backend subsystems are not asserted.
Main entry points: apiClient.ts API client · app.py ORCA API · offlineSync.ts Offline sync · App.tsx App shell
Components 22
Mobile app
- App shell
apps/mobile/App.tsx - Root navigation
apps/mobile/navigation/RootNavigator.tsx - Home screen
apps/mobile/screens/HomeScreen.tsx - Map screen
apps/mobile/screens/MapScreen.tsx - AI screen
apps/mobile/screens/AIScreen.tsx - Alerts screen
apps/mobile/screens/AlertsScreen.tsx - Emergency SOS
apps/mobile/screens/EmergencySOSModal.tsx - Marine service
apps/mobile/services/marineService.ts - API client
apps/mobile/services/apiClient.ts
Offline support
- Offline database
apps/mobile/utils/offlineDatabase.ts - Offline sync
apps/mobile/utils/offlineSync.ts - Network sync hook
apps/mobile/utils/useNetworkSync.ts
Backend services
- ORCA API
backend/app.py - Risk scoring
backend/risk_engine.py - Marine data ingestion
backend/data_ingestion.py
SAR operations
- Rescue services
backend/rescue_service.py - Drift modeling
backend/sar_drift.py - Search zones
backend/sar_search_zone.py - Mission briefs
backend/sar_mission_brief.py - SAR records
backend/app.py
Other components
- Mobile user
- Marine data provider
Connections 10
- Mobile user → App shell: opens
- App shell → Root navigation: renders
- Marine service → API client: requests via
- API client → ORCA API: HTTP requests
- Network sync hook → Offline sync: triggers sync
- Offline sync → Offline database: reads and writes
- API client → Offline sync: queues failures
- ORCA API → Risk scoring: calculates risk
- ORCA API → SAR records: reads and writes
- Marine data ingestion → Marine data provider: fetches data