Trax.Api.Dashboard
1.68.0
Prefix Reserved
dotnet add package Trax.Api.Dashboard --version 1.68.0
NuGet\Install-Package Trax.Api.Dashboard -Version 1.68.0
<PackageReference Include="Trax.Api.Dashboard" Version="1.68.0" />
<PackageVersion Include="Trax.Api.Dashboard" Version="1.68.0" />
<PackageReference Include="Trax.Api.Dashboard" />
paket add Trax.Api.Dashboard --version 1.68.0
#r "nuget: Trax.Api.Dashboard, 1.68.0"
#:package Trax.Api.Dashboard@1.68.0
#addin nuget:?package=Trax.Api.Dashboard&version=1.68.0
#tool nuget:?package=Trax.Api.Dashboard&version=1.68.0
Trax.Api.Dashboard
Part of Trax .NET: business logic you can call, schedule, or serve as an API, with every run recorded in your Postgres. Docs · Getting started · Repository
Trax.Api.Dashboard is the Trax operations dashboard as a single-page app your Trax.Api host serves: runs, the work queue, dead letters, manifests, logs, trains, effects and state machines. The built app is inside the package, so the host needs no Node, and everything the app shows or changes goes through the host's Trax GraphQL endpoint. You can try it on recorded data at traxsharp.net/dashboard.
Install
dotnet add package Trax.Api.Dashboard
Example
builder.Services.AddTraxGraphQL(graphql => graphql.RequireAuthorization());
builder.Services.AddAuthorization(o =>
o.AddPolicy("TraxAdmin", p => p.RequireRole("Admin")));
var app = builder.Build();
app.UseAuthentication();
app.UseAuthorization();
app.UseTraxGraphQL(); // /trax/graphql
app.UseTraxApiDashboard(dashboard => dashboard.RequirePolicy("TraxAdmin")); // /trax/dashboard
The dashboard refuses to start until you say who may load it: RequirePolicy, RequireRoles, or
AllowAnonymousShell() when something in front of it is the gate. The app then asks the operator for an API key or
bearer token and sends it to the GraphQL endpoint, which authorizes every read and write on its own.
Where this fits
Trax is split into layers, one folder of this repository each. Take the ones you need; the trains you wrote do not change. You are here: Trax.Api.
| Folder | What it adds |
|---|---|
| Trax.Core | Trains, junctions and the chain, with no database and no DI container |
| Trax.Effect | A recorded run for every execution (Postgres, SQLite or in memory), DI, effect providers |
| Trax.StateMachine | State machines a page drives and the server applies, in C# and TypeScript, held to one conformance kit |
| Trax.Mediator | The train bus: run a train by handing over its input, with every chain checked at startup |
| Trax.Scheduler | Cron and interval schedules, retries, dead letters, and workers on other machines or in Lambda |
| Trax.Api | GraphQL generated from your trains, with authentication, audit, typed clients, and this dashboard |
| Trax.Cli | The trax tool: scaffold a hub and trains from an OpenAPI or GraphQL schema, and state-machine codegen |
| Trax.Samples | Complete sample apps, and the trax-api, trax-scheduler and trax-hub templates |
Docs live in Trax.Docs and are published at traxsharp.net/docs.
Contributing
The app's source is in ClientApp/,
its own npm project. Read AGENTS.md before changing
code. Report vulnerabilities privately as described in SECURITY.md.
License
MIT. There is no commercial edition, and there will not be one.
Trax .NET is an independent open-source project and is not affiliated with the Utah Transit Authority, Trax Retail, or any other organization using the Trax name.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- Cronos (>= 0.13.0)
- HotChocolate (>= 16.6.7)
- HotChocolate.AspNetCore (>= 16.6.7)
- HotChocolate.AspNetCore.Authorization (>= 16.6.7)
- HotChocolate.CostAnalysis (>= 16.6.7)
- HotChocolate.Data (>= 16.6.7)
- HotChocolate.Data.EntityFramework (>= 16.6.7)
- HotChocolate.Execution.Projections (>= 16.6.7)
- Microsoft.AspNetCore.Authentication.JwtBearer (>= 10.0.9)
- Microsoft.EntityFrameworkCore (>= 10.0.12)
- Microsoft.EntityFrameworkCore.Relational (>= 10.0.12)
- Npgsql (>= 10.0.3)
- Trax.Api.GraphQL (>= 1.68.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.