How nasa-across/across-frontend works
ACROSS Frontend is a SvelteKit web application for exploring astronomy observations, schedules, observatories and ingestion status, calculating visibility, submitting observation requests, and managing user accounts and groups. Server-side route loaders and form actions coordinate page workflows with the ACROSS API through shared request utilities. The graph preserves the major route families visible in the tree; several subsystems are represented at their enclosing route directory because their implementation was not sampled.
Main entry points: callApi.ts API client · getTelescopes.ts Telescope lookup · ingestion-status/+page.server.ts Ingestion status · visibility-calculator/+page.server.ts Visibility calculator
Components 19
Astronomy data
- Observations
src/routes/observations/+page.server.ts - Schedules
src/routes/schedules/+page.server.ts - Observatories
src/routes/observatories - Ingestion status
src/routes/ingestion-status/+page.server.ts
Planning tools
- Visibility calculator
src/routes/visibility-calculator/+page.server.ts - Observation request
src/routes/observation-request/create/+page.server.ts
Accounts
- Login
src/routes/user/login/+page.server.ts - Registration
src/routes/user/register/+page.server.ts - Login verification
src/routes/user/login-verify/+page.server.ts - User profile
src/routes/user/profile/+page.server.ts - Group management
src/routes/user/[userGroupName]/user-group-manage - Service accounts
src/routes/user/service-accounts/+page.server.ts
Shared runtime
- Object resolver
src/lib/utils/across/resolveObject.ts - API client
src/lib/utils/across/callApi.ts - Telescope lookup
src/lib/utils/across/getTelescopes.ts - Observatory lookup
src/lib/utils/across/getObservatories.ts - Schedule lookup
src/lib/utils/across/getSchedules.ts
Other components
- Visitor
- ACROSS API
Connections 35
- Visitor → Observations: opens
- Visitor → Schedules: opens
- Visitor → Observatories: opens
- Visitor → Ingestion status: opens
- Visitor → Visibility calculator: uses
- Visitor → Observation request: submits
- Visitor → Login: starts login
- Visitor → Registration: registers
- Visitor → User profile: manages account
- Visitor → Group management: manages groups
- Visitor → Service accounts: manages credentials
- Observations → API client: fetches observations
- Observations → Telescope lookup: loads telescopes
- Schedules → API client: fetches schedules
- Schedules → Telescope lookup: loads telescopes
- Observatories → ACROSS API: loads data
- Ingestion status → Telescope lookup: loads telescopes
- Ingestion status → Observatory lookup: loads observatories
- Ingestion status → Schedule lookup: loads schedules
- Visibility calculator → Telescope lookup: loads telescopes
- Visibility calculator → Object resolver: exposes resolver
- Visibility calculator → API client: requests windows
- Observation request → Telescope lookup: loads telescopes
- Observation request → Object resolver: exposes resolver
- Observation request → API client: posts request
- Login → API client: requests login
- Registration → API client: creates user
- Login verification → API client: loads user
- User profile → API client: updates account
- Group management → ACROSS API: manages memberships
- Service accounts → API client: manages accounts
- API client → ACROSS API: sends requests
- Telescope lookup → API client: fetches telescopes
- Observatory lookup → API client: fetches observatories
- Schedule lookup → API client: fetches schedules