Environment variables
- OPENSKY_CLIENT_ID
- Optional OpenSky OAuth client id for higher quota.
- OPENSKY_CLIENT_SECRET
- Optional OpenSky OAuth client secret.
- RAPIDAPI_KEY
- Optional AeroDataBox key for metadata and route lookup.
AeroScope Documentation
AeroScope is a Next.js application for live aircraft positions, route enrichment, and lightweight flight intelligence. This page collects the repository essentials in one publishable GitHub Pages reference.
Setup
Start with the example environment file, install dependencies, then launch the Next.js development server.
cp .env.local.example .env.local
npm install
npm run dev
npm run lint validates the code style.npm run build verifies production bundling.http://localhost:3000 opens the map UI.How it works
The app keeps expensive or quota-limited upstream requests behind server routes while the browser stays responsive through local state and manual enrichment actions.
app/page.tsx renders MapShell, which
composes the map, stream subscriber, search, status, and panel.
The current map bounding box is stored in Zustand and passed to the stream route for server-side filtering.
streamHub keeps a global five-minute snapshot and
backs off when upstream rate limits are hit.
Aircraft details, route endpoints, and flight search use AeroDataBox only after explicit user action.
API Calls
These routes support the application UI. They are useful for debugging and future clients, but they are not versioned as a public API.
Returns cached OpenSky aircraft states, optionally filtered by map bounds.
?lamin=45&lomin=5&lamax=55&lomax=15
Loads aircraft registration, model, airline, and image metadata.
/api/aircraft/0200eb
Finds a current route by ICAO24, optionally biased by callsign.
?callsign=RAM740X
Searches a route by ICAO24-like value, callsign, or flight number.
?q=RAM740X
Deployment
This repository now includes a Pages workflow that publishes
docs-site/. GitHub builds an artifact from those
static files and serves it from the repository Pages URL.
GitHub Pages does not run Node.js functions, so it cannot host
/api/stream or the AeroDataBox proxy routes. Use Pages
for documentation and deploy the actual app to a Node-capable
platform such as Vercel, Cloud Run, or Coolify.
.github/workflows/pages.yml
docs-site/index.html
docs-site/styles.css
docs-site/app.js
Maintenance
Update this page whenever API contracts, cache TTLs, deployment assumptions, or public product behavior changes.
Update the endpoint cards and the deeper notes in docs/integration.md.
Update the architecture flow, operations guide, and README cache summaries.
Run lint and build checks, then manually verify map rendering and route lookup behavior.