AeroVision

A real-time flight radar mobile application with AI insights

Stars
6
Language
Python
Updated

AeroVision

A real-time flight radar mobile application with AI insights.

Architecture

  • Frontend: React Native (Expo) with TypeScript
  • Backend: Python FastAPI with WebSockets
  • Database: PostgreSQL with PostGIS
  • Cache: Redis
  • ML: Custom models for delay prediction, turbulence estimation, and anomaly detection

Setup

Backend

  1. Install dependencies:

    cd backend
    pip install -r requirements.txt
    
  2. Set up PostgreSQL and Redis.

  3. Run the backend:

    uvicorn main:app --reload
    
  4. Run ADS-B ingestion:

    python ingest/adsb_stream.py
    

Frontend

  1. Install Expo CLI.

  2. Install dependencies:

    npm install
    
  3. Start the app:

    npm start
    

API Endpoints

  • GET /flights/live - Live flights
  • WS /ws/flights - WebSocket for real-time updates
  • GET /flights/{icao} - Flight details
  • GET /ai/delay/{flight_id} - Delay prediction
  • GET /ai/turbulence/{flight_id} - Turbulence prediction

Sample WebSocket Payload

[
  {
    "icao": "ABC123",
    "callsign": "UAL123",
    "lat": 37.7749,
    "lon": -122.4194,
    "altitude": 35000,
    "speed": 500,
    "heading": 90
  }
]

Sample ML Outputs

Delay Prediction:

{
  "delay_probability": 0.78,
  "reason": "Airport congestion"
}

Turbulence:

{
  "turbulence_level": "Moderate",
  "confidence": 0.85
}