How biodiversitydata-se/sos works
SOS is a species-observation aggregation and access platform: observations are harvested and validated, then exposed through search, adaptive location search, and analytical APIs. Users can also export results, while administrators manage providers, harvest jobs, caches, and system status. The graph includes stewardship and status-facing capabilities documented by the repository structure; several implementation paths were not sampled, so uncertain connections are omitted.
Main entry points: ObservationsController.cs Observation API · AdaptiveSearchLocationsService.cs Adaptive locations · ObservationsSearchApiClient.cs Observations client · HarvestAndProcessJobController.cs Administration API
Components 19
Search and access
- Observation API
Src/SOS.Observations.Api/Controllers/ObservationsController.cs - Adaptive locations
Src/SOS.Observations.Api/Services/AdaptiveSearchLocations/AdaptiveSearchLocationsService.cs - Processed observations
Src/SOS.Analysis.Api/Repositories/ProcessedObservationRepository.cs - Status web search
Src/SOS.Status.Web/Services/ObservationSearchService.cs - Observations client
Src/SOS.Status.Web.Client/HttpClients/ObservationsSearchApiClient.cs
Harvest operations
- Administration API
Src/SOS.Administration.Api/Controllers/HarvestAndProcessJobController.cs - Provider management
Src/SOS.Administration.Api/Controllers/DataProvidersController.cs - Archive validation
Src/SOS.Harvest/Managers/DwcaDataValidationReportManager.cs - IPT resource lookup
Src/SOS.Administration.Api/Managers/IptManager.cs
Analysis
- Analysis API
Src/SOS.Analysis.Api/Controllers/AnalysisController.cs - Analysis manager
Src/SOS.Lib/Managers/AnalysisManager.cs
Exports and storage
- Export jobs
Src/SOS.Export/Jobs/ExportAndStoreJob.cs - Observation export
Src/SOS.Export/Managers/ObservationManager.cs - Export file access
Src/SOS.Observations.Api/Managers/BlobStorageManager.cs - Blob storage
Src/SOS.Lib/Services/BlobStorageService.cs
Data stewardship
- Stewardship API
Src/SOS.DataStewardship.Api/Endpoints/Occurrences/GetOccurrencesBySearchEndpoint.cs - Stewardship manager
Src/SOS.DataStewardship.Api/Application/Managers/DataStewardshipManager.cs
Other components
- API consumer
- GBIF IPT
Connections 19
- API consumer → Observation API: searches
- Observation API → Adaptive locations: builds location results
- Adaptive locations → Processed observations: queries observations
- Status web search → Observations client: calls
- Observations client → Observation API: sends search
- API consumer → Administration API: manages harvest
- Administration API → Archive validation: requests validation
- Provider management → IPT resource lookup: lists IPT resources
- IPT resource lookup → GBIF IPT: fetches resource page
- API consumer → Analysis API: requests analysis
- Analysis API → Analysis manager: runs analysis
- Analysis manager → Processed observations: queries metrics
- API consumer → Export jobs: requests export
- Export jobs → Observation export: dispatches export
- Observation export → Blob storage: uploads files
- Observation API → Export file access: requests export files
- Export file access → Blob storage: lists and links files
- API consumer → Stewardship API: searches records
- Stewardship API → Stewardship manager: delegates