Skip to content

Compatibility with more flight data APIs #5

@Splestule

Description

@Splestule

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

  1. Create a common interface for flight data providers
  2. Implement adapters for each API
  3. Add configuration to select primary/fallback providers
  4. 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

  • Abstract flight data provider interface defined
  • At least one additional provider implemented
  • Fallback logic when primary API fails
  • Configuration via environment variables
  • Documentation for adding new providers

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions