How volpan28/nebo works
AstroMonitor is an astronomy observation and sky-visualization application with a React client and ASP.NET API. Users can explore sky objects, query catalogs and visibility, manage watchlists, authenticate, and export visibility reports. The sampled handlers show SQL-backed catalog reads, coordinate calculations, and report generation; the tree documents additional asteroid and import capabilities. Client-to-endpoint wiring and several unsampled handlers are inferred only at the subsystem level, so uncertain internal calls are omitted.
Main entry points: Program.cs HTTP host · SqlConnectionFactory.cs SQL connection factory · App.tsx Sky interface · Queries Visibility reports
Components 28
Sky client
- Sky interface
AstroMonitor.Client/src/App.tsx - Sky visualization
AstroMonitor.Client/src/components/SkyCanvas.tsx - Search and controls
AstroMonitor.Client/src/components/SearchPanel.tsx - Report export UI
AstroMonitor.Client/src/components/ExportPanel.tsx
API surface
- HTTP host
AstroMonitor.Api/Program.cs - Star endpoints
AstroMonitor.Api/Controllers/StarController.cs - Sky map endpoint
AstroMonitor.Api/Controllers/SkyMapController.cs - Asteroid endpoints
AstroMonitor.Api/Controllers/AsteroidsController.cs - Report endpoint
AstroMonitor.Api/Controllers/ReportController.cs - Authentication endpoints
AstroMonitor.Api/Controllers/AuthenticationController.cs - Profile endpoint
AstroMonitor.Api/Controllers/GetUserProfileController.cs - Watchlist endpoints
AstroMonitor.Api/Controllers/WatchlistController.cs
Application workflows
- Star catalog queries
AstroMonitor.Application/Features/Stars/Queries - Sky map calculation
AstroMonitor.Application/Features/SkyMap/Queries/Get/GetSkyMapQueryHandler.cs - Asteroid queries and sync
AstroMonitor.Application/Features/Asteroids - Visibility reports
AstroMonitor.Application/Features/Reports/Queries - User authentication
AstroMonitor.Application/Features/Auth - Profile lookup
AstroMonitor.Application/Features/Auth/Queries/GetProfileQueryHandler.cs - Watchlist operations
AstroMonitor.Application/Features/Watchlist - Star import
AstroMonitor.Application/Features/Imports/ImportStars
Domain services
- Astronomy calculations
AstroMonitor.Infrastructure/Services/AstronomyMathService.cs - File generation
AstroMonitor.Infrastructure/Services/ReportGeneratorService.cs - Identity service
AstroMonitor.Infrastructure/Services/UserManagerService.cs - JWT generation
AstroMonitor.Infrastructure/Services/JwtTokenGenerator.cs
Persistence
- Application database
AstroMonitor.Persistence/Context/AMDbContext.cs - SQL connection factory
AstroMonitor.Persistence/Connections/SqlConnectionFactory.cs
Other components
- Observer
- NASA NEO service
Connections 32
- Observer → Sky interface: uses
- Sky interface → Sky visualization: renders
- Sky interface → Search and controls: presents
- Sky interface → Report export UI: presents
- Sky interface → HTTP host: sends requests
- HTTP host → Star endpoints: routes
- HTTP host → Sky map endpoint: routes
- HTTP host → Asteroid endpoints: routes
- HTTP host → Report endpoint: routes
- HTTP host → Authentication endpoints: routes
- HTTP host → Profile endpoint: routes
- HTTP host → Watchlist endpoints: routes
- Star endpoints → Star catalog queries: dispatches
- Sky map endpoint → Sky map calculation: dispatches
- Asteroid endpoints → Asteroid queries and sync: dispatches
- Report endpoint → Visibility reports: dispatches
- Authentication endpoints → User authentication: dispatches
- Profile endpoint → Profile lookup: dispatches
- Watchlist endpoints → Watchlist operations: dispatches
- Star catalog queries → SQL connection factory: queries through
- Sky map calculation → SQL connection factory: queries through
- Sky map calculation → Astronomy calculations: calculates coordinates
- Visibility reports → SQL connection factory: queries through
- Visibility reports → Astronomy calculations: calculates visibility
- Visibility reports → File generation: generates files
- Profile lookup → SQL connection factory: queries through
- Watchlist operations → SQL connection factory: queries through
- User authentication → Identity service: manages accounts
- User authentication → JWT generation: creates tokens
- Star import → Application database: imports into
- Asteroid queries and sync → NASA NEO service: retrieves asteroid data
- SQL connection factory → Application database: connects to