Skip to content

Solution structure

Solution: ConnectSoft.Blazor.Mfe.ECS.MonitoringTemplate.slnx (repo root).

src/ConnectSoft.Blazor.Mfe.ECS.MonitoringTemplate/   # Blazor WASM (Sdk.BlazorWebAssembly), net10.0
├── Pages/                      # flat layout: Home, MetricsDashboard, HealthStatus, AuditLogs, Alerts, UIKitDemo, Error
├── AlertsPushNotificationHost.razor   # toasts for off-page alert pushes
└── wwwroot/appsettings.json    # EcsMetricsApi, EcsHealthApi, EcsAuditLogApi, EcsAlertApi, EcsMonitoringRealtime
tests/...UnitTests/             # 8 test files (API clients + presentation)
docs/                           # 6 files (currently generic shell docs)
packages/                       # local offline NuGet cache (checked in)

Routes

Route Page
/ Home
/metrics MetricsDashboard (ApexCharts; demo mode when API unset)
/health HealthStatus
/audit-logs AuditLogs
/alerts Alerts (list/filter/acknowledge/resolve)
/uikit-demo, /Error utility

Clients and config

Config section Client Live API
EcsMetricsApi EcsMetricsApiClient GET api/v1/metrics/series
EcsHealthApi EcsHealthApiClient health API
EcsAuditLogApi EcsAuditLogApiClient GET api/v1/audit-logs
EcsAlertApi EcsAlertApiClient GET api/v1/alerts (+ acknowledge/resolve)
EcsMonitoringRealtime MonitoringRealtimeHubClient SignalR hub (MetricsUpdated, HealthUpdated, AlertsUpdated)

Empty BaseUrl -> demo data. Polling intervals are configurable (e.g. metrics 30s, health 15s).

Dependencies

Blazor-ApexCharts 6.1.0, Microsoft.AspNetCore.SignalR.Client 9.0.0, UIKit 1.0.157. See repo status regarding the net10/net9 package skew.

See also