Twelve platform features span every module in fullstackhero. They wire once at the host layer, then any module consumes them through the same interfaces and conventions - no per-module bespoke setup.
The twelve concerns
- 01/12
Caching
HybridCache (L1 in-memory + L2 Valkey) with OpenTelemetry instrumentation, stampede protection, and tag-based invalidation.
- 02/12
Background jobs
Hangfire 1.8 wired with tenant context preservation, DI-aware scoped activation, OpenTelemetry instrumentation, and a basic-auth-gated dashboard.
- 03/12
Observability
Serilog structured logging + OpenTelemetry traces and metrics over OTLP - with Mediator, EF Core, Npgsql, Redis, and Hangfire instrumentation.
- 04/12
Idempotency
Idempotency-Key header support with distributed-cache-backed replay protection across instances.
- 05/12
Feature flags
Microsoft.FeatureManagement with a custom TenantFeatureFilter so flags can be enabled per tenant.
- 06/12
Rate limiting
ASP.NET Core RateLimiting with chained per-tenant / per-user / per-IP global limiters plus an "auth" policy on login, refresh, password and registration endpoints.
- 07/12
Health checks
Liveness + readiness endpoints - per-module database checks, Valkey, Hangfire, tenant migrations - for Kubernetes / Docker Compose / load balancer probes.
- 08/12
Server-Sent Events
Built-in SSE endpoints - token exchange + authenticated stream - with a connection manager for one-way pushes when SignalR is overkill.
- 09/12
Realtime
SignalR with a Valkey backplane, group conventions for users + channels, post-SaveChanges broadcast pattern, and distributed-cache typing throttle.
- 10/12
HTTP resilience
Polly v8 via Microsoft.Extensions.Http.Resilience - retry, circuit breaker, timeouts - opt-in per HttpClient with the kit's AddHeroResilience extension.
- 11/12
Error handling
Global exception handler converts CustomException / NotFoundException / ForbiddenException / UnauthorizedException into RFC 9457 ProblemDetails responses.
- 12/12
Internationalization (i18n)
End-to-end localization across the backend and both React apps - en-US as default and fallback, pt-BR included, with per-user language, IStringLocalizer, RequestLocalization, and react-i18next.
Each page covers one concern in depth - how it’s wired, where the implementation lives, how modules consume it, and the gotchas worth knowing.
Related
- Web building block - the composition root that wires every concern.
- Modules overview - every module composes against these features.
- Architecture: dependency injection - how
AddHeroPlatformties it together.