How t-mavlabs/sagar works
SAGAR is a marine-science analysis dashboard. Scientists enter through the project dashboard, open a project’s globe view, query marine data in natural language, and inspect the resulting analysis, maps, and charts; query history and project notes support follow-up work. Separate study modules cover taxonomy, otolith classification, and eDNA, while vessel telemetry and API/data-source views provide additional product capabilities. Relationships are limited to those shown in excerpts, the source index, or README; some README-described capabilities have unsampled implementations.
Main entry points: GlobeView.tsx Globe analysis view · App.tsx App routing · SearchResultsView.tsx Analysis results · supabaseClient.ts Supabase client
Components 27
App and projects
- App routing
src/App.tsx - Login
src/components/Login.tsx - Project dashboard
src/components/Dashboard.tsx
Marine analysis
- Globe analysis view
src/components/GlobeView.tsx - 3D globe renderer
src/external/transpiled/Globe.js - Globe adapter
src/components/ReactGlobeComponent.tsx - Analysis results
src/components/SearchResultsView.tsx - Results map
src/components/ui/search-world-map.tsx - Query history
src/components/QueryHistory.tsx - Project notes
src/services/studyNotesService.ts
Study modules
- Taxonomy module
src/services/taxonomyService.ts - Otolith module
src/services/otolithService.ts - eDNA module
src/services/ednaService.ts - Species identification
src/services/speciesIdentificationService.ts
Data services
- Marine RAG service
src/services/ragService.ts - History service
src/services/queryHistoryService.ts - Supabase client
src/services/supabaseClient.ts - Vessel telemetry service
src/services/vesselTelemetryService.ts - Telemetry persistence
src/services/vesselTelemetrySupabaseService.ts
Other product areas
- Data source page
src/components/DataSourcePage.tsx - API documentation
src/components/APIDocumentation.tsx - Vessel login and telemetry
src/components/VesselLogin.tsx - Quality report
src/components/QualityReport.tsx - PDF generator
src/lib/pdfGenerator.ts
Other components
- Scientist
- SagarManthan RAG API
- Supabase database
Connections 32
- Scientist → App routing: opens
src/App.tsx - App routing → Login: routes to
src/App.tsx - App routing → Project dashboard: routes to
src/App.tsx - App routing → Globe analysis view: routes to
src/App.tsx - App routing → Analysis results: routes to
src/App.tsx - App routing → Data source page: routes to
src/App.tsx - App routing → API documentation: routes to
src/App.tsx - App routing → Vessel login and telemetry: routes to
src/App.tsx - Project dashboard → Supabase client: reads projects
src/components/Dashboard.tsx - Globe analysis view → Globe adapter: renders
src/components/GlobeView.tsx - Globe adapter → 3D globe renderer: renders
src/components/ReactGlobeComponent.tsx - Globe analysis view → Marine RAG service: submits queries
src/components/GlobeView.tsx - Marine RAG service → SagarManthan RAG API: queries
src/services/ragService.ts - Marine RAG service → Analysis results: returns results
src/services/ragService.ts - Analysis results → Results map: renders map
src/components/SearchResultsView.tsx - Globe analysis view → History service: saves queries
src/components/GlobeView.tsx - Query history → History service: loads and deletes
src/components/QueryHistory.tsx - History service → Supabase client: reads and writes
src/services/queryHistoryService.ts - Query history → Analysis results: restores results
src/components/QueryHistory.tsx - Globe analysis view → Project notes: manages notes
src/components/GlobeView.tsx - Analysis results → Project notes: uses notes
src/components/SearchResultsView.tsx - Project notes → Supabase client: reads and writes
src/services/studyNotesService.ts - Supabase client → Supabase database: connects
src/services/supabaseClient.ts - Globe analysis view → Taxonomy module: uses
src/components/GlobeView.tsx - Globe analysis view → Otolith module: uses
src/components/GlobeView.tsx - Globe analysis view → eDNA module: uses
src/components/GlobeView.tsx - Globe analysis view → Species identification: uses
src/components/GlobeView.tsx - Vessel login and telemetry → Vessel telemetry service: uses
src/components/VesselLogin.tsx - Vessel login and telemetry → Telemetry persistence: uses
src/components/VesselLogin.tsx - Telemetry persistence → Supabase client: persists data
src/services/vesselTelemetrySupabaseService.ts - Vessel login and telemetry → Quality report: shows report
src/components/VesselLogin.tsx - Quality report → PDF generator: generates PDF
src/components/QualityReport.tsx