How raihacks/satelliteorbit works
This is a browser-based satellite tracker with an Express API. Users can load a satellite catalog or enter a NORAD ID, then view tracked satellites on a 3D Earth, select one to see telemetry and its orbit/ground track, and move the camera around the globe. The backend retrieves TLE data from Celestrak and uses Upstash Redis as a cache. Frontend interaction and backend route behavior are sampled; some frontend modules are represented from the file tree, so uncertain wiring is omitted.
Main entry points: main.js App workflow · satelliteManager.js Satellite manager · satelliteRoute.js Satellite routes · server.js Express server
Components 20
Viewer interaction
- App workflow
frontend/js/main.js - Telemetry display
frontend/js/ui/telemetry.js
3D visualization
- WebGL renderer
frontend/js/core/renderer.js - Scene setup
frontend/js/core/scene.js - Camera controls
frontend/js/core/controls.js - Earth globe
frontend/js/earth/earth.js
Satellite tracking
- Satellite manager
frontend/js/satellite/satelliteManager.js - Satellite markers
frontend/js/satellite/satelliteMarker.js - Coordinate conversion
frontend/js/math/latLonToVector3.js - Orbit prediction
frontend/js/satellite/orbitPrediction.js - Satellite updates
frontend/js/satellite/satelliteUpdate.js
Data service
- TLE client
frontend/js/api/fetchTLE.js - Catalog client
frontend/js/api/fetchTLECatalog.js - Express server
backend/server.js - Satellite routes
backend/satelliteRoute.js - Satellite fetcher
backend/fetchSatellites.js - TLE cache
Other components
- Viewer
- Celestrak
- Earth texture
Connections 23
- Viewer → App workflow: interacts with
- App workflow → Scene setup: creates
- App workflow → WebGL renderer: creates
- App workflow → Camera controls: creates
- App workflow → Earth globe: creates
- App workflow → Satellite manager: manages
- App workflow → Telemetry display: updates
- App workflow → Express server: requests catalog or TLE
- Scene setup → Earth globe: hosts
- WebGL renderer → Scene setup: renders
- Camera controls → WebGL renderer: controls camera
- Earth globe → Earth texture: loads texture
- Satellite manager → Satellite markers: creates markers
- Satellite manager → Coordinate conversion: converts positions
- Satellite manager → Orbit prediction: predicts paths
- Satellite manager → Satellite updates: updates tracking
- Satellite manager → TLE client: fetches TLE
- TLE client → Express server: requests TLE
- Catalog client → Express server: requests catalog
- Express server → Satellite routes: dispatches API requests
- Satellite routes → TLE cache: reads and writes cache
- Satellite routes → Celestrak: fetches TLE data
- Satellite routes → Satellite fetcher: delegates satellite fetch