How lordmarss/shipment-navigator works
Shipment Navigator is a shipment operations web app: users create and manage shipment records, review documents and status history, and monitor fleet movement, alerts, and analytics. Its runtime has grown beyond the README’s initial manual-tracking specification: the source index identifies AIS ingestion and automated lifecycle decisions as substantial capabilities. The graph separates the UI, shipment lifecycle, fleet intelligence, and persistence/integration layers. Some route and automation internals are unsampled; only documented or indexed relationships are shown.
Main entry points: api.ts Data Access · map.tsx Fleet Map · index.tsx Dashboard · useFleet.ts Fleet Queries
Components 23
Workspace UI
Shipment Lifecycle
- Shipment Detail
src/routes/shipments.$id.tsx - New Shipment Form
src/components/NewShipmentForm.tsx - Documents
src/routes/documents.tsx - Alerts
src/routes/alerts.tsx
Fleet Intelligence
- Fleet Map
src/routes/map.tsx - Vessels
src/routes/vessels.tsx - Fleet Queries
src/components/maritime/useFleet.ts - Monitoring Config
src/hooks/useMonitoringConfig.ts - Lifecycle Rules
src/lib/lifecycle.ts - AIS Decisions
src/lib/aisAutomation.ts - AIS Position Ingest
src/lib/aisPositionIngest.ts
Data and Integrations
- AIS Position Hook
src/routes/api/public/hooks/ais-position.ts - Automation Hook
src/routes/api/public/hooks/automation-run.ts - Automation Runner
src/lib/automation.server.ts - Data Access
src/lib/api.ts - Supabase
src/integrations/supabase/client.ts - Supabase Database
Other components
- Operator
- MarineTraffic Embed
Connections 22
- Operator → Dashboard: opens
README.md - Operator → Shipment Detail: reviews
README.md - Operator → Fleet Map: tracks vessels
README.md - Operator → Alerts: views alerts
README.md - Dashboard → New Shipment Form: opens form
src/routes/index.tsx - Dashboard → Data Access: loads events
src/routes/index.tsx - Shipment Detail → Data Access: saves details
src/routes/shipments.$id.tsx - Documents → Data Access: loads documents
src/routes/documents.tsx - Fleet Map → Fleet Queries: loads fleet data
src/routes/map.tsx - Vessels → Fleet Queries: loads fleet data
src/routes/vessels.tsx - Fleet Queries → Data Access: queries records
src/components/maritime/useFleet.ts - Monitoring Config → Data Access: loads settings
src/hooks/useMonitoringConfig.ts - Monitoring Config → Lifecycle Rules: uses defaults
src/hooks/useMonitoringConfig.ts - Fleet Map → AIS Decisions: uses AIS rules
src/routes/map.tsx - AIS Position Hook → AIS Position Ingest: routes position data
src/routes/api/public/hooks/ais-position.ts - AIS Position Hook → AIS Decisions: invokes webhook handler
- AIS Decisions → Data Access: applies decisions
src/lib/aisAutomation.ts - Automation Hook → Automation Runner: runs automation
src/routes/api/public/hooks/automation-run.ts - Automation Runner → Data Access: uses data access
- Data Access → Supabase: queries
src/lib/api.ts - Supabase → Supabase Database: reads and writes
- Fleet Map → MarineTraffic Embed: embeds map
README.md