Operations control room for Trax. A Blazor Server dashboard for monitoring train journeys, timetables, dead letters, and live station service configuration.
Trax is a layered framework split across several repos. You can stop at whatever layer solves your problem. You are here: Trax.Dashboard.
| Repo | Adds |
|---|---|
| Trax.Core | Pipelines, junctions, railway error propagation |
| Trax.Effect | Execution logging, DI, pluggable storage |
| Trax.Mediator | Decoupled dispatch via TrainBus |
| Trax.Scheduler | Cron schedules, retries, dead-letter queues |
| Trax.Api | GraphQL API for remote access |
| Trax.Dashboard | Blazor monitoring UI |
| Trax.Cli | trax-cli project scaffolding tool |
| Trax.Samples | Sample apps and a dotnet new template |
Full documentation: traxsharp.net/docs.
Drop a control room into any ASP.NET Core application that uses Trax. Two lines of code give you a full operations dashboard for watching train journeys in real time, browsing the timetable, inspecting lost shipments, and toggling station services without restarting.
No separate service to deploy. It mounts directly into your existing application as a Blazor Server component.
dotnet add package Trax.Dashboardvar builder = WebApplication.CreateBuilder(args);
builder.AddTraxDashboard();
builder.Services.AddTrax(trax =>
trax.AddEffects(effects => effects.UsePostgres(connectionString))
.AddMediator(typeof(Program).Assembly)
);
var app = builder.Build();
app.UseTraxDashboard(); // Mounts at /trax by default
app.Run();Custom route prefix:
app.UseTraxDashboard("/my-dashboard");Overview of the whole network. Summary cards showing train counts by state, a donut chart of journey outcomes, and a 24-hour departure timeline.
The departure board. Grid of all registered IServiceTrain<,> implementations discovered in your assemblies: interface type, concrete type, cargo in, cargo out, and DI lifetime. Useful for verifying that your trains are wired up correctly.
- Metadata: the journey log. Execution history for every train run. Filter by state, train name, or time range. Cancel trains in transit directly from the grid.
- Logs: application logs captured during train journeys.
- Manifests: the timetable. Scheduled train definitions from Trax.Scheduler. View schedule, retry policy, last departure time, and enable/disable individual manifests.
- Manifest Groups: fleet-level statistics and dispatch settings (max active trains, priority) per group.
- Dead Letters: the lost shipment office. Trains that derailed beyond their retry limit. Inspect the failure details and decide whether to re-dispatch or discard.
Toggle individual station services on or off at runtime. Adjust settings like log levels and serialization options without restarting the application.
Per-session preferences: polling interval for live data, visibility toggles for dashboard sections.
Trax.Dashboard is a Razor Class Library built on Blazor Server with Radzen components. Your host application needs:
- ASP.NET Core (the Web SDK)
- Interactive Server render mode enabled (Blazor Server)
The dashboard handles its own static assets and routing, so you don't need to configure Radzen separately.
MIT
Trax is an open-source .NET framework provided by TraxSharp. This project is an independent community effort and is not affiliated with, sponsored by, or endorsed by the Utah Transit Authority, Trax Retail, or any other entity using the "Trax" name in other industries.