A production-grade web application for tracking satellites and space debris, monitoring collision risks, and visualizing orbital data using real data from Space-Track.org.
- Live Position Updates: SGP4 orbital propagation updates satellite positions every 5 seconds
- TLE Data Processing: Uses Two-Line Element sets from Space-Track.org
- Multi-Orbit Support: Tracks LEO, MEO, GEO, and HEO satellites
- Dark Aerospace Theme: Professional mission control aesthetic
- Orbit Path Rendering: Dynamic orbit trajectory visualization
- Color-Coded Objects: Active satellites (green), debris (red), rocket bodies (orange)
- Area Selection: Shift+drag to select geographic regions
- Close Approach Detection: Distance-threshold based conjunction screening
- Risk Classification: CRITICAL, HIGH, MEDIUM, LOW levels
- Probability Estimation: Simplified collision probability model
- Alert Timeline: Time-to-closest-approach countdowns
- Name/NORAD ID Search: Find specific satellites
- Orbit Type Filter: LEO/MEO/GEO/HEO selection
- Object Type Filter: Payloads, Debris, Rocket Bodies
- Country Filter: Filter by launching country
- Geographic Filtering: Select satellites over specific regions
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β ORBITAL GUARDIAN SYSTEM β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β β
β ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββββ β
β β SPACE-TRACK βββββΆβ BACKEND βββββΆβ FRONTEND β β
β β .ORG API β β (Python FastAPI)β β (React + TypeScriptβ β
β ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββββ β
β β β β β
β βΌ βΌ βΌ β
β ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββββ β
β β β’ TLE Data β β β’ Auth Proxy β β β’ Leaflet Map β β
β β β’ Satellite Cat β β β’ SGP4 (Python) β β β’ SGP4 (JS) β β
β β β’ CDM Public β β β’ Caching β β β’ React Components β β
β β β’ Decay Data β β β’ Rate Limiting β β β’ Real-time Updatesβ β
β ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββββ β
β β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
- Space-Track.org provides authoritative satellite catalog and TLE data
- Backend (FastAPI) handles authentication, caching, and rate limiting
- Frontend (React) performs client-side SGP4 propagation for real-time updates
- satellite.js library computes positions from TLE data every 5 seconds
- Node.js 18+ (for frontend)
- Python 3.9+ (for backend)
- Space-Track.org Account (free registration)
# Install frontend dependencies
npm install
# Install backend dependencies
cd backend
pip install -r requirements.txt
cd ..# Copy the example environment file
cp backend/.env.example backend/.env
# Edit with your credentials
# Get credentials at: https://www.space-track.org/auth/createAccountcd backend
uvicorn main:app --reload --port 8000# In a new terminal
npm run devNavigate to http://localhost:5173
orbital-guardian/
βββ src/
β βββ components/
β β βββ AlertsPanel.tsx # Collision alerts display
β β βββ Globe.tsx # Map visualization (Leaflet)
β β βββ SatellitePanel.tsx # Satellite list & filters
β β βββ StatsHeader.tsx # Dashboard statistics
β βββ hooks/
β β βββ useSatelliteData.ts # Data fetching & state
β βββ services/
β β βββ demoData.ts # Demo TLE data (fallback)
β β βββ orbitalMechanics.ts # SGP4 propagation
β β βββ spaceTrackApi.ts # API client
β βββ types/
β β βββ satellite.ts # TypeScript definitions
β βββ App.tsx # Main application
βββ backend/
β βββ main.py # FastAPI server
β βββ requirements.txt # Python dependencies
β βββ .env.example # Environment template
βββ README.md
| Variable | Description | Required |
|---|---|---|
SPACETRACK_USERNAME |
Space-Track.org username | Yes |
SPACETRACK_PASSWORD |
Space-Track.org password | Yes |
HOST |
Server host (default: 0.0.0.0) | No |
PORT |
Server port (default: 8000) | No |
| Variable | Description | Default |
|---|---|---|
VITE_API_BASE_URL |
Backend API URL | /api |
| Endpoint | Purpose |
|---|---|
/basicspacedata/query/class/satcat |
Satellite catalog |
/basicspacedata/query/class/gp |
TLE (GP) data |
/basicspacedata/query/class/cdm_public |
Conjunction Data Messages |
Space-Track enforces rate limits:
- 20 requests/minute for authenticated users
- The backend implements caching to minimize requests
- TLE data is typically updated every 1-3 days
- CDM (Conjunction Data) is updated as events occur
- Catalog data updates reflect new launches and decays
The system uses the SGP4 (Simplified General Perturbations 4) algorithm:
- SGP4: For near-Earth objects (period < 225 minutes)
- SDP4: For deep-space objects (period β₯ 225 minutes)
- TLE β Satrec: Parse Two-Line Elements
- Satrec β ECI: Propagate to Earth-Centered Inertial
- ECI β ECEF: Rotate by GMST
- ECEF β Geodetic: Convert to lat/lon/alt
| Type | Altitude Range | Period |
|---|---|---|
| LEO | 160 - 2,000 km | ~90 min |
| MEO | 2,000 - 35,000 km | 2-24 hrs |
| GEO | ~35,786 km | 24 hrs |
| HEO | Variable | Variable |
- Screening: Identify pairs with potential close approaches
- Propagation: Compute positions over 24-hour window
- Distance Calculation: Find minimum miss distance
- Risk Classification: Based on miss distance thresholds
| Level | Miss Distance | Action |
|---|---|---|
| CRITICAL | < 100 m | Immediate review required |
| HIGH | < 500 m | Close monitoring |
| MEDIUM | < 2 km | Standard tracking |
| LOW | < 50 km | Logged for reference |
For operational decisions, use official Conjunction Data Messages (CDM) from:
- 18th Space Defense Squadron (US Space Force)
- ESA Space Debris Office
- Credentials: Never expose Space-Track credentials in frontend code
- CORS: Configure allowed origins for production
- Rate Limiting: Implement to prevent API abuse
- HTTPS: Use TLS in production
When the backend is not connected, the frontend uses:
- Cached TLE Data: Real satellite TLEs (may be outdated)
- SGP4 Propagation: Positions computed client-side
- Demo Alerts: Example conjunction events
Note: Demo mode is for visualization only. Data may not reflect current orbital positions.
# Frontend tests
npm test
# Backend tests
cd backend
pytest- Vallado, D.A. "Fundamentals of Astrodynamics and Applications"
- Kelso, T.S. "Satellite Orbital Calculations" (CelesTrak)
- ESA Space Debris Office Annual Reports
- NASA Orbital Debris Quarterly News
MIT License - See LICENSE file for details.
Contributions welcome! Please read our contributing guidelines first.
- Space-Track.org for providing authoritative orbital data
- CelesTrak for TLE format documentation
- 18th Space Defense Squadron for space situational awareness
Built with π°οΈ by aerospace enthusiasts
For educational and research purposes. Not for operational collision avoidance without official CDM data.