PlaneTrack.ai System Architecture

Real-time aircraft tracking data pipeline

📡 Data Sources (Raspberry Pi Nodes)
RPi #1 (10.0.3.24)
Software: dump1090/readsb
Coverage: ~250 miles
Status: Checking...
RPi #2 (10.0.3.108)
Software: dump1090/readsb
Coverage: ~250 miles
Status: Checking...
RPi #3 (10.0.3.50)
Software: dump1090/readsb
Coverage: ~250 miles
Status: Checking...
🔄 Message Queue (Redpanda Cluster)
adsb.raw topic
Messages/sec: Loading...
Total Offset: Loading...
Partitions: 1
Replication: 3x
adsb_snapshot topic
Snapshots: Every 15s
Aircraft/snapshot: Loading...
Total Offset: Loading...
Replication: 3x
⚙️ Processing Layer
Snapshot Aggregator
Function: Aggregate raw messages
Input: adsb.raw
Output: adsb_snapshot
Status: Checking...
Unified Writer
Function: Write to database
Input: adsb_snapshot
Output: PostgreSQL
Consumer Lag: Loading...
ADSBHub Consumer
Function: ADSBHub data import
PM2 Process: adsbhub_consumer
Table: adsbhub_points_partitioned
💾 Storage Layer (PostgreSQL 10.0.3.235)
aircraft_state
Live Aircraft: Loading...
Total Tracked: Loading...
Last Update: Loading...
Purpose: Live API queries
adsb_points_partitioned
Type: Historical track data
Partitions: Loading...
Retention: 7 days
adsbhub_points_partitioned
Type: ADSBHub feed data
Recent Records: Loading...
Retention: 16 days
🔌 API Layer
Live Flights API
Framework: Flask
Port: 5001
PM2 Process: live-flights-api
Endpoint: /api/rpc/live_aircraft
Main API (Monetization)
Framework: FastAPI
Port: 8080
Features: Auth, Billing, Stripe
Oceanic APIs
Atlantic: Port 5020
Pacific: Port 5021
Function: Oceanic flight predictions
🌐 Frontend (Web Application)
PlaneTrack.ai Website
Technology: Mapbox GL + DeckGL
Port: 8080
Refresh Rate: Every 15-20 seconds
Aircraft Display: Loading...
📊 System Statistics
0
Total Aircraft Tracked
0
Live Aircraft (2 min)
0
Messages/Second
0 MB
Data Processed (Est.)
Last updated: Never