EF Core helpers, base configurations, and interceptors for database integration.
$ dotnet add package TaskHub.Shared.Infrastructure.EfCoreTaskHub.Shared is a set of small, independent modules that act as the shared foundation for microservices. It provides shared primitives, abstractions, contracts, and infrastructure adapters designed around Domain-Driven Design (DDD) and Clean Architecture principles.
TaskHub.Shared contains the fundamental components and patterns used across all bounded contexts in TaskHub.
TaskHub.Shared.Primitives — Core value objects, identifiers, and base types shared across all domains.
TaskHub.Shared.Domain — Base entities, aggregates, domain events, and helpers for implementing rich domain models.
TaskHub.Shared.Response — Unified result system (Result, ValueResult<T>, ResultFactory) for consistent success/error handling.
TaskHub.Shared.Commands.Abstractions — Abstractions for the command pipeline (interfaces for command handlers, behaviors, buses).
TaskHub.Shared.Commands.Bus — Default in-process command bus implementation with behavior orchestration (behaviors pipeline, cross-cutting concerns).
TaskHub.Shared.Events.Abstractions — Domain event abstractions for cross-service communication and eventual consistency patterns.
TaskHub.Shared.Persistence.Abstractions — Interfaces for read/write repositories, unit of work, and persistence contracts.
TaskHub.Shared.Infrastructure.EfCore — EF Core helpers, base configurations, and interceptors for database integration.
TaskHub.Shared.Redis — Integration with Redis for caching and distributed state management.
TaskHub.Shared.RateLimiter — Reusable rate-limiting primitives and policies for protecting APIs and internal pipelines.
TaskHub.Shared.Authorization.Abstractions — Authorization contracts, roles/permissions abstractions, and policies shared across services.
TaskHub.Shared.Authorization.Identity — Identity-related models and helpers used by TaskHub services (users, claims, roles).
TaskHub.Shared.Swagger — Common Swagger / OpenAPI configuration for ASP.NET Core services (conventions, filters, defaults).
TaskHub.Shared.Versioning — Shared conventions and helpers for API versioning across TaskHub microservices.
TaskHub.Shared.ConfigurationTools — Utilities for configuration binding, validation, and environment-specific configuration setup.
TaskHub.Shared.Bootstraper — Opinionated startup helpers to compose TaskHub modules into a microservice with minimal boilerplate.
TaskHub.Shared.GeoCoding.Abstractions — Abstractions for geocoding providers.
TaskHub.Shared.GeoCoding.Nominatim — Implementation of the geocoding service using the Nominatim API.
TaskHub.Observability.Metrics.Abstractions — Abstractions and options for metrics collection (meters, counters, histograms) used across services.
TaskHub.Observability.Metrics.Implementation — Default metrics implementation built on top of IMeterFactory and OpenTelemetry metrics.
TaskHub.Observability.Traces.Abstractions — Tracing contracts and ActivitySource abstractions for instrumenting command and HTTP pipelines.
TaskHub.Observability.Traces.Implementation — Default tracing implementation built on top of ActivitySource.
TaskHub.Observability.OpenTelemetry — Preconfigured OpenTelemetry setup (resource, exporters, processors) for metrics, traces, and logs (Tempo, Prometheus, Loki).