Goal
Enable Aether to fetch flight data from multiple API providers, not just OpenSky Network.
Background
Currently, Aether relies exclusively on the OpenSky Network API for live flight data. This creates a single point of failure and limits functionality when OpenSky rates limit requests. Supporting additional APIs would improve reliability and potentially provide richer data.
Potential APIs to support
| Provider |
Pros |
Cons |
| ADS-B Exchange |
Large coverage, hobbyist-friendly |
Requires API key |
| FlightAware |
Commercial-grade data, flight plans |
Paid API |
| AviationStack |
REST API, historical data |
Paid tiers |
Note: aviationStackService.ts already exists but is not actively used. |
|
|
Implementation approach
- Create a common interface for flight data providers
- Implement adapters for each API
- Add configuration to select primary/fallback providers
- Handle API-specific data normalization
Relevant files
- server/src/services/flightService.ts - Current OpenSky integration
- server/src/services/aviationStackService.ts - Partial AviationStack implementation
- shared/src/types.ts - Flight data types
Acceptance criteria
Goal
Enable Aether to fetch flight data from multiple API providers, not just OpenSky Network.
Background
Currently, Aether relies exclusively on the OpenSky Network API for live flight data. This creates a single point of failure and limits functionality when OpenSky rates limit requests. Supporting additional APIs would improve reliability and potentially provide richer data.
Potential APIs to support
aviationStackService.tsalready exists but is not actively used.Implementation approach
Relevant files
Acceptance criteria