How deaththekid1614/cosmic_eye works
Cosmic Eye is a React/FastAPI explorer for public NASA SPHEREx observations. Users search by object name or sky coordinates, browse curated or recent results, and inspect metadata and FITS-derived previews; Color Lab explores wavelength bands and palettes, while Sky Map offers deep-sky and Solar System views. The backend resolves names, queries and normalizes archive products, and generates cached previews. Relationships for unsampled features are included only where the README documents them; source excerpts and the SOURCE INDEX support the shown implementation links.
Main entry points: observations.py Observation Routes · App.tsx App routes · client.ts HTTP Client · observations.ts Observation Client
Components 24
Explorer interface
- App routes
frontend/src/App.tsx - AI Search
frontend/src/routes/AISearchPage.tsx - Manual Search
frontend/src/routes/ExplorePage.tsx - Browse and Regions
frontend/src/routes/BrowsePage.tsx - Color Lab
frontend/src/routes/RGBExplorerPage.tsx - Sky Map
frontend/src/routes/SkyMapPage.tsx - Deep-sky Globe
frontend/src/components/SkyMapGlobe.tsx - Solar System View
frontend/src/components/SolarSystemExplorer.tsx - Observation Viewer
frontend/src/components/ObservationViewer.tsx - HTTP Client
frontend/src/api/client.ts - Observation Client
frontend/src/api/observations.ts
API and routing
- Observation Routes
backend/app/api/observations.py - FastAPI App
backend/app/main.py - Observation Schemas
backend/app/schemas/observation.py
Archive and previews
- Archive Search
backend/app/services/archive_service.py - SPHEREx Adapter
backend/app/adapters/irsa_spherex.py - FITS Preview
backend/app/services/preview_service.py
Targets and models
- Name Resolver
backend/app/services/ai_service.py - Featured Targets
backend/app/services/featured_service.py - Orbital Model
backend/app/services/solar_system_model_service.py
Other components
- Explorer
- NASA/IPAC IRSA
- SIMBAD
- JPL Horizons / SBDB
Connections 30
- Explorer → App routes: uses
README.md - App routes → AI Search: routes to
frontend/src/App.tsx - App routes → Manual Search: routes to
frontend/src/App.tsx - App routes → Browse and Regions: routes to
frontend/src/App.tsx - App routes → Color Lab: routes to
frontend/src/App.tsx - App routes → Sky Map: routes to
frontend/src/App.tsx - AI Search → HTTP Client: resolves name
frontend/src/routes/AISearchPage.tsx - AI Search → Observation Client: searches coordinates
frontend/src/routes/AISearchPage.tsx - Manual Search → Observation Client: searches archive
frontend/src/api/observations.ts - Browse and Regions → Observation Client: loads observations
frontend/src/api/observations.ts - Color Lab → Observation Client: loads wavelength sets
frontend/src/api/observations.ts - Observation Client → HTTP Client: sends requests
frontend/src/api/observations.ts - AI Search → Observation Viewer: opens result
frontend/src/routes/AISearchPage.tsx - Observation Viewer → HTTP Client: builds preview URL
frontend/src/components/ObservationViewer.tsx - Sky Map → Deep-sky Globe: renders deep sky
frontend/src/routes/SkyMapPage.tsx - Sky Map → Solar System View: renders solar view
frontend/src/routes/SkyMapPage.tsx - Sky Map → HTTP Client: requests model
frontend/src/routes/SkyMapPage.tsx - HTTP Client → Observation Routes: HTTP requests
frontend/src/api/client.ts - FastAPI App → Observation Routes: includes routes
backend/app/main.py - Observation Routes → Observation Schemas: validates responses
backend/app/api/observations.py - Observation Routes → Name Resolver: resolves targets
backend/app/api/observations.py - Observation Routes → Featured Targets: loads featured
backend/app/api/observations.py - Observation Routes → Orbital Model: gets orbital model
backend/app/api/observations.py - Observation Routes → Archive Search: searches archive
backend/app/api/observations.py - Observation Routes → FITS Preview: generates previews
backend/app/api/observations.py - Archive Search → SPHEREx Adapter: queries coverage
backend/app/services/archive_service.py - SPHEREx Adapter → NASA/IPAC IRSA: queries SPHEREx
README.md - FITS Preview → NASA/IPAC IRSA: downloads FITS
backend/app/services/preview_service.py - Name Resolver → SIMBAD: looks up names
README.md - Orbital Model → JPL Horizons / SBDB: fetches elements
README.md