# chaithanyabs441-ux/cosmic-eye-telemetry-pipeline architecture

> Architecture diagram of the GitHub repository chaithanyabs441-ux/cosmic-eye-telemetry-pipeline, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-12). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline
- Repository: https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline

## Overview

Cosmic Eye is a React/FastAPI explorer for NASA SPHEREx infrared archive observations. Users search by object name or coordinates, browse recent or curated targets, and inspect observation images, metadata, and archive links; Color Lab changes image bands and palettes. A separate sky-map branch provides deep-sky targets and an interactive Solar System model. The repository also contains a course-project telemetry/warehouse analytics pipeline, but the supplied README excerpt does not describe its runtime data flow, so its components are shown without speculative connections. Backend route/service details are partly unsampled.

Main entry points: [`frontend/src/api/client.ts`](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/api/client.ts) (HTTP Client), [`frontend/src/App.tsx`](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/App.tsx) (React App), [`frontend/src/api/observations.ts`](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/api/observations.ts) (Observation Client), [`backend/app/api/observations.py`](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/api/observations.py) (Observation Routes)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Explorer UI"]
  node_app["React App<br/>[App.tsx]"]
  node_search["Name Search<br/>[AISearchPage.tsx]"]
  node_browse["Browse Targets<br/>[BrowsePage.tsx]"]
  node_explore["Coordinate Search<br/>[ExplorePage.tsx]"]
  node_color["Color Lab"]
  node_sky_page["Sky Map<br/>[SkyMapPage.tsx]"]
  node_observation_ui["Observation Viewer"]
  node_api_client["HTTP Client<br/>[client.ts]"]
  node_observation_client["Observation Client<br/>[observations.ts]"]
end

subgraph group_api["Archive API"]
  node_api_app["FastAPI App<br/>[main.py]"]
  node_observation_routes["Observation Routes<br/>[observations.py]"]
  node_ai_service["Name Resolution<br/>[ai_service.py]"]
  node_archive_service["Archive Search<br/>[archive_service.py]"]
  node_irsa["IRSA Adapter<br/>[irsa_spherex.py]"]
  node_preview["FITS Preview<br/>[preview_service.py]"]
  node_featured["Featured Targets"]
  node_nasa_archive(("NASA SPHEREx Archive"))
end

subgraph group_sky["Sky Models"]
  node_solar_ui["Solar Explorer"]
  node_solar_service["Orbital Model"]
  node_jpl(("JPL Data Services"))
end

subgraph group_analytics["Telemetry Analytics"]
  node_pipeline_ingest["Telemetry Ingest<br/>[ingest.py]"]
  node_pipeline_stream["Streaming<br/>[streaming.py]"]
  node_pipeline_sync["MongoDB Sync<br/>[sync_mongodb.py]"]
  node_warehouse["Warehouse Dashboard<br/>[app.py]"]
  node_warehouse_insights["Warehouse Insights"]
  node_queries["Analytics Queries<br/>[run_query.py]"]
end

node_user(("Explorer"))

node_user -->|"uses"| node_app
node_app -->|"routes to"| node_search
node_app -->|"routes to"| node_browse
node_app -->|"routes to"| node_explore
node_app -->|"routes to"| node_color
node_app -->|"routes to"| node_sky_page
node_search -->|"resolves name"| node_api_client
node_search -->|"searches coordinates"| node_observation_client
node_browse -->|"loads observations"| node_observation_client
node_explore -.->|"searches archive"| node_observation_client
node_color -->|"loads bands"| node_observation_client
node_sky_page -->|"loads targets"| node_observation_client
node_sky_page -->|"resolves added target"| node_api_client
node_sky_page -->|"renders solar view"| node_solar_ui
node_observation_ui -->|"requests previews"| node_api_client
node_api_client -->|"HTTP requests"| node_api_app
node_observation_client -->|"fetches JSON"| node_api_client
node_api_app -->|"mounts routes"| node_observation_routes
node_observation_routes -->|"resolves names"| node_ai_service
node_observation_routes -->|"searches products"| node_archive_service
node_archive_service -->|"queries coverage"| node_irsa
node_irsa -->|"queries products"| node_nasa_archive
node_observation_routes -->|"builds previews"| node_preview
node_observation_routes -.->|"serves curated targets"| node_featured
node_solar_ui -->|"fetches model"| node_api_client
node_api_client -->|"requests model"| node_solar_service
node_solar_service -->|"retrieves orbital data"| node_jpl

click node_app "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/App.tsx"
click node_search "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/AISearchPage.tsx"
click node_browse "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/BrowsePage.tsx"
click node_explore "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/ExplorePage.tsx"
click node_color "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/RGBExplorerPage.tsx"
click node_sky_page "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/SkyMapPage.tsx"
click node_solar_ui "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/components/SolarSystemExplorer.tsx"
click node_observation_ui "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/components/ObservationViewer.tsx"
click node_api_client "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/api/client.ts"
click node_observation_client "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/api/observations.ts"
click node_api_app "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/main.py"
click node_observation_routes "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/api/observations.py"
click node_ai_service "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/ai_service.py"
click node_archive_service "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/archive_service.py"
click node_irsa "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/adapters/irsa_spherex.py"
click node_preview "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/preview_service.py"
click node_featured "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/featured_service.py"
click node_solar_service "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/solar_system_model_service.py"
click node_pipeline_ingest "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/pipeline/ingest.py"
click node_pipeline_stream "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/pipeline/streaming.py"
click node_pipeline_sync "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/pipeline/sync_mongodb.py"
click node_warehouse "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/dashboard/app.py"
click node_warehouse_insights "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/dashboard/pages/1_Warehouse_Insights.py"
click node_queries "https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/queries/run_query.py"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_app,node_search,node_browse,node_explore,node_color,node_sky_page,node_observation_ui,node_api_client,node_observation_client toneBlue
class node_api_app,node_observation_routes,node_ai_service,node_archive_service,node_irsa,node_preview,node_featured,node_nasa_archive toneAmber
class node_solar_ui,node_solar_service,node_jpl toneMint
class node_pipeline_ingest,node_pipeline_stream,node_pipeline_sync,node_warehouse,node_warehouse_insights,node_queries toneRose
class node_user toneIndigo
```

## Components

### Explorer UI

- [React App](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/App.tsx): `frontend/src/App.tsx`
- [Name Search](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/AISearchPage.tsx): `frontend/src/routes/AISearchPage.tsx`
- [Browse Targets](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/BrowsePage.tsx): `frontend/src/routes/BrowsePage.tsx`
- [Coordinate Search](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/ExplorePage.tsx): `frontend/src/routes/ExplorePage.tsx`
- [Color Lab](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/RGBExplorerPage.tsx): `frontend/src/routes/RGBExplorerPage.tsx`
- [Sky Map](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/routes/SkyMapPage.tsx): `frontend/src/routes/SkyMapPage.tsx`
- [Observation Viewer](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/components/ObservationViewer.tsx): `frontend/src/components/ObservationViewer.tsx`
- [HTTP Client](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/api/client.ts): `frontend/src/api/client.ts`
- [Observation Client](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/api/observations.ts): `frontend/src/api/observations.ts`

### Archive API

- [FastAPI App](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/main.py): `backend/app/main.py`
- [Observation Routes](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/api/observations.py): `backend/app/api/observations.py`
- [Name Resolution](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/ai_service.py): `backend/app/services/ai_service.py`
- [Archive Search](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/archive_service.py): `backend/app/services/archive_service.py`
- [IRSA Adapter](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/adapters/irsa_spherex.py): `backend/app/adapters/irsa_spherex.py`
- [FITS Preview](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/preview_service.py): `backend/app/services/preview_service.py`
- [Featured Targets](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/featured_service.py): `backend/app/services/featured_service.py`
- **NASA SPHEREx Archive**

### Sky Models

- [Solar Explorer](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/frontend/src/components/SolarSystemExplorer.tsx): `frontend/src/components/SolarSystemExplorer.tsx`
- [Orbital Model](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/backend/app/services/solar_system_model_service.py): `backend/app/services/solar_system_model_service.py`
- **JPL Data Services**

### Telemetry Analytics

- [Telemetry Ingest](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/pipeline/ingest.py): `pipeline/ingest.py`
- [Streaming](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/pipeline/streaming.py): `pipeline/streaming.py`
- [MongoDB Sync](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/pipeline/sync_mongodb.py): `pipeline/sync_mongodb.py`
- [Warehouse Dashboard](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/dashboard/app.py): `dashboard/app.py`
- [Warehouse Insights](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/dashboard/pages/1_Warehouse_Insights.py): `dashboard/pages/1_Warehouse_Insights.py`
- [Analytics Queries](https://github.com/chaithanyabs441-ux/cosmic-eye-telemetry-pipeline/blob/main/queries/run_query.py): `queries/run_query.py`

### Other components

- **Explorer**

## Connections

- Explorer → React App: uses (evidence: `README.md`)
- React App → Name Search: routes to (evidence: `frontend/src/App.tsx`)
- React App → Browse Targets: routes to (evidence: `frontend/src/App.tsx`)
- React App → Coordinate Search: routes to (evidence: `frontend/src/App.tsx`)
- React App → Color Lab: routes to (evidence: `frontend/src/App.tsx`)
- React App → Sky Map: routes to (evidence: `frontend/src/App.tsx`)
- Name Search → HTTP Client: resolves name (evidence: `frontend/src/routes/AISearchPage.tsx`)
- Name Search → Observation Client: searches coordinates (evidence: `frontend/src/routes/AISearchPage.tsx`)
- Browse Targets → Observation Client: loads observations (evidence: `frontend/src/api/observations.ts`)
- Coordinate Search → Observation Client: searches archive
- Color Lab → Observation Client: loads bands (evidence: `frontend/src/api/observations.ts`)
- Sky Map → Observation Client: loads targets (evidence: `frontend/src/routes/SkyMapPage.tsx`)
- Sky Map → HTTP Client: resolves added target (evidence: `frontend/src/routes/SkyMapPage.tsx`)
- Sky Map → Solar Explorer: renders solar view (evidence: `frontend/src/routes/SkyMapPage.tsx`)
- Observation Viewer → HTTP Client: requests previews (evidence: `frontend/src/components/ObservationViewer.tsx`)
- HTTP Client → FastAPI App: HTTP requests (evidence: `README.md`)
- Observation Client → HTTP Client: fetches JSON (evidence: `frontend/src/api/observations.ts`)
- FastAPI App → Observation Routes: mounts routes (evidence: `backend/app/main.py`)
- Observation Routes → Name Resolution: resolves names (evidence: `README.md`)
- Observation Routes → Archive Search: searches products (evidence: `README.md`)
- Archive Search → IRSA Adapter: queries coverage (evidence: `backend/app/services/archive_service.py`)
- IRSA Adapter → NASA SPHEREx Archive: queries products (evidence: `README.md`)
- Observation Routes → FITS Preview: builds previews (evidence: `README.md`)
- Observation Routes → Featured Targets: serves curated targets
- Solar Explorer → HTTP Client: fetches model (evidence: `frontend/src/components/SolarSystemExplorer.tsx`)
- HTTP Client → Orbital Model: requests model (evidence: `README.md`)
- Orbital Model → JPL Data Services: retrieves orbital data (evidence: `README.md`)
