Solution Architecture · Additional notes

1 min read
Mid-level6 min read
Rapid overview

Additional notes

Technology Stack Integration

LayerTechnologyPurpose
WebFastEndpointsMinimal API endpoints with validation
ApplicationMediatRCQRS command/query handling
ValidationFluentValidationRequest validation
DomainDomainCore (shared)Base entities, domain events
InfrastructureEF CoreORM, migrations
DatabasePostgreSQLPer-service database
CachingRedisDistributed cache
AuthKeycloakOAuth2/OIDC identity provider

Shared NuGet Packages Pattern

NuGetPackages/
+-- DomainCore/              # Base entities, domain events
+-- MultiTenancy.EFCore/     # Tenant isolation infrastructure
+-- Identity.Keycloak/       # Keycloak integration
+-- Security.Claims/         # Claims extraction helpers
+-- ServiceDefaults/         # Health checks, logging defaults

Choosing the Right Approach

ScenarioRecommendation
Long-lived backend with integrationsClean Architecture
Complex domain, frequent rule changesDDD + Clean Architecture
Fast-moving feature teamsVertical Slices
High-read workloadsCQRS with read replicas
Multi-tenant SaaSTenant entity pattern + global filters
Desktop/mobile UIMVVM

See also