Velox Web2 Knowledge Map
This repository is the newer .NET solution around Velox API access. It contains an Aspire AppHost, shared service defaults, an ASP.NET Core API service that reads Velox/VxData configuration and proxies to VeloxAPIService, and a Blazor web scaffold.
Complexity is estimated from runtime coupling, database breadth, proxy/security behavior, OpenAPI surface, observability, and deployment risk. When behavior is not clear from the repository files alone, it is marked as unclear.
Aspire AppHost
Purpose:
- Provides the .NET Aspire orchestration entry point for local development.
- Wires the API service and Blazor web project together for a composed run experience.
Main classes:
AppHost
Dependencies:
- .NET Aspire hosting packages.
Velox.ApiServiceVelox.WebVelox.ServiceDefaults
Important entry points:
Velox.AppHost\AppHost.csVelox.AppHost\Velox.AppHost.csprojVelox.AppHost\Properties\launchSettings.json
Important configuration:
Velox.AppHost\appsettings.jsonVelox.AppHost\appsettings.Development.json- Aspire dashboard/runtime configuration.
Related documentation:
architecture.mdDocker Compose.txtInstalled Packages.txt
Estimated complexity: Low
Shared Service Defaults
Purpose:
- Centralizes cross-cutting service configuration for ASP.NET Core projects.
- Adds OpenTelemetry, health checks, service discovery, resilience, and helper utilities.
Main classes:
ExtensionsUrlHelpersFileHelpers
Dependencies:
- ASP.NET Core.
- OpenTelemetry.
- Microsoft service discovery and resilience libraries.
- Health check infrastructure.
Important entry points:
Velox.ServiceDefaults\Extensions.csVelox.ServiceDefaults\Tools\UrlHelpers.csVelox.ServiceDefaults\Tools\FileHelpers.cs
Important configuration:
OTEL_EXPORTER_OTLP_ENDPOINT- Service discovery/resilience defaults.
- Health check endpoints mapped by service startup.
Related documentation:
architecture.mdVelox.ServiceDefaults\Velox.ServiceDefaults.csproj
Estimated complexity: Medium
API Service Startup and Dynamic API Surface
Purpose:
- Hosts the public API/documentation service.
- Configures EF contexts, OpenAPI, Scalar/Swagger static assets, logging, CORS, and dynamic routes from Velox API configuration.
Main classes:
ProgramApiApiActionSetup
Dependencies:
- ASP.NET Core minimal APIs.
- Entity Framework Core.
- SQL Server.
- Scalar/Swagger/OpenAPI packages.
- Static assets under
Velox.ApiService\wwwroot.
Important entry points:
Velox.ApiService\Program.csVelox.ApiService\Velox.ApiService.csprojVelox.ApiService\wwwroot\index.htmlVelox.ApiService\wwwroot\indexPlain.html
Important configuration:
Velox.ApiService\appsettings.jsonVelox.ApiService\appsettings.Development.jsonConnectionStrings:VxConfigConnectionStrings:VxData- API route definitions loaded from configuration database tables.
Related documentation:
architecture.mdVelox.ApiService\EntityFrameWorkDBBuild.txt
Estimated complexity: High
Velox API Proxy Endpoint and User Resolution
Purpose:
- Proxies API requests from the .NET API service to the Delphi VeloxAPIService.
- Resolves users and authorizes/identifies requests using bearer token data and user headers.
Main classes:
ProxyEndpointUserServiceUser
Dependencies:
- ASP.NET Core request pipeline.
HttpClient.- VeloxAPIService runtime.
- VxData users.
- Velox API configuration records.
Important entry points:
Velox.ApiService\Endpoints\VeloxAPI.csVelox.ApiService\Service\UserService.cs- Dynamic endpoint mapping in
Program.cs
Important configuration:
- Bearer token/API key values from the configuration database.
- User identification headers such as
X-UserNum. - Target VeloxAPIService host/port from database setup/configuration.
- Full security model should be reviewed before production changes; some behavior is inferred from code layout.
Related documentation:
architecture.md..\velox\KNOWLEDGE_MAP.md
Estimated complexity: High
EF Contexts and Database Models
Purpose:
- Maps Velox configuration database tables and VxData tables into EF Core models.
- Supplies the API service with configuration, route, user, setup, and data-platform entities.
Main classes:
VxConfigContextVxDataContext- Model classes under
Velox.ApiService\ModelConfig - Model classes under
Velox.ApiService\ModelData - API DTO/domain classes under
Velox.ApiService\Model
Dependencies:
- Entity Framework Core SQL Server provider.
- Velox configuration database.
- VxData database.
- Schema definitions from
veloxandvelox-data.
Important entry points:
Velox.ApiService\DBContext\VxConfigContext.csVelox.ApiService\DBContext\VxDataContext.csVelox.ApiService\ModelConfigVelox.ApiService\ModelDataVelox.ApiService\Model
Important configuration:
ConnectionStrings:VxConfigConnectionStrings:VxData- EF scaffold/build notes in
EntityFrameWorkDBBuild.txt. - Regeneration rules for scaffolded models are unclear and should be confirmed before editing model files manually.
Related documentation:
architecture.mdVelox.ApiService\EntityFrameWorkDBBuild.txt..\velox-data\KNOWLEDGE_MAP.md
Estimated complexity: High
OpenAPI, Scalar, Swagger, and Static API Assets
Purpose:
- Provides interactive API documentation and branded static pages for API consumers.
- Hosts Scalar/Swagger config, OpenAPI-related files, images, and landing pages.
Main classes:
- No primary C# classes in this subsystem; startup registration lives in
Program. - Main artifacts are static HTML, CSS, JavaScript, SVG, and image assets.
Dependencies:
- ASP.NET Core static file middleware.
- Scalar/OpenAPI packages.
- Dynamic API metadata produced by the API service.
Important entry points:
Velox.ApiService\wwwroot\index.htmlVelox.ApiService\wwwroot\indexPlain.htmlVelox.ApiService\wwwroot\scalarconfig\config.jsVelox.ApiService\wwwroot\swaggerconfig\brand.jsVelox.ApiService\wwwroot\swaggerconfig\style.css
Important configuration:
- Static config files under
wwwroot\scalarconfigandwwwroot\swaggerconfig. - OpenAPI route/path configuration in
Program.cs.
Related documentation:
architecture.md
Estimated complexity: Medium
Logging and Observability
Purpose:
- Configures application logging, optional Windows Event Log behavior, health checks, and telemetry.
- Supports troubleshooting for API service and Aspire-hosted local runs.
Main classes:
LoggingExtensionExtensionsin ServiceDefaults
Dependencies:
- Microsoft.Extensions.Logging.
- Windows Event Log provider where enabled.
- OpenTelemetry.
- Aspire dashboard/OTLP endpoint.
Important entry points:
Velox.ApiService\Service\LoggingExtension.csVelox.ServiceDefaults\Extensions.cs- Service startup in
Velox.ApiService\Program.cs
Important configuration:
- Logging settings in appsettings.
OTEL_EXPORTER_OTLP_ENDPOINT- Environment-specific log providers.
Related documentation:
architecture.md
Estimated complexity: Medium
Blazor Web Scaffold
Purpose:
- Provides a Blazor web frontend scaffold that currently appears to be sample/template-style UI.
- Consumes the API service through a generated/simple weather client in the default template.
Main classes:
ProgramWeatherApiClient- Razor components under
Velox.Web\Components MainLayoutNavMenu
Dependencies:
- ASP.NET Core Blazor.
Velox.ServiceDefaults.Velox.ApiServicewhen running in composed mode.
Important entry points:
Velox.Web\Program.csVelox.Web\Components\App.razorVelox.Web\Components\Routes.razorVelox.Web\Components\Pages\Home.razorVelox.Web\Components\Pages\Weather.razor
Important configuration:
Velox.Web\appsettings.jsonVelox.Web\appsettings.Development.jsonVelox.Web\Properties\launchSettings.json- Production role of this frontend is unclear from repository files alone.
Related documentation:
architecture.md
Estimated complexity: Low
Deployment and Environment Notes
Purpose:
- Captures package, Docker, and local environment notes for building/deploying the solution.
- Gives developers breadcrumbs for installed packages and container deployment.
Main classes:
- No runtime classes.
- Main artifacts are text notes and project files.
Dependencies:
- .NET SDK.
- Docker/Docker Compose if using compose notes.
- NuGet packages listed in project files and notes.
- SQL Server and VeloxAPIService for meaningful API execution.
Important entry points:
Velox.slnDocker Compose.txtInstalled Packages.txt- Project
.csprojfiles.
Important configuration:
- Appsettings across AppHost/API/Web projects.
- Launch profiles.
- Deployment-specific connection strings and credentials should be supplied securely and not copied into docs.
Related documentation:
architecture.mdDocker Compose.txtInstalled Packages.txt
Estimated complexity: Medium