TaskHub.Shared.Services.Abstractions
2.2.91
dotnet add package TaskHub.Shared.Services.Abstractions --version 2.2.91
NuGet\Install-Package TaskHub.Shared.Services.Abstractions -Version 2.2.91
<PackageReference Include="TaskHub.Shared.Services.Abstractions" Version="2.2.91" />
<PackageVersion Include="TaskHub.Shared.Services.Abstractions" Version="2.2.91" />
<PackageReference Include="TaskHub.Shared.Services.Abstractions" />
paket add TaskHub.Shared.Services.Abstractions --version 2.2.91
#r "nuget: TaskHub.Shared.Services.Abstractions, 2.2.91"
#:package TaskHub.Shared.Services.Abstractions@2.2.91
#addin nuget:?package=TaskHub.Shared.Services.Abstractions&version=2.2.91
#tool nuget:?package=TaskHub.Shared.Services.Abstractions&version=2.2.91
TaskHub.Shared
TaskHub.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.
Overview
TaskHub.Shared contains the fundamental components and patterns used across all bounded contexts in TaskHub.
Modules
- TaskHub.Shared.ValueObjects — Common value objects (e.g.,
Email,PhoneNumber,Address,Coordinates) used across services. - 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.Services.Abstractions — Common service interfaces for dependency inversion.
- TaskHub.Shared.Events.Abstractions — Domain event abstractions for cross-service communication and eventual consistency patterns.
Persistence
- TaskHub.Shared.Persistence.Abstractions — Interfaces for read/write repositories, unit of work, and persistence contracts.
- TaskHub.Shared.Persistence.EntityFramework — EntityFramework Core helpers, base configurations, and interceptors for database integration.
- TaskHub.Shared.Persistence.Outbox - Outbox pattern abstractions.
- TaskHub.Shared.Redis — Integration with Redis for caching and distributed state management.
Authorization
- 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).
Tools
- TaskHub.Shared.Versioning — Shared conventions and helpers for API versioning across TaskHub microservices.
- TaskHub.Shared.RateLimiter — Reusable rate-limiting primitives and policies for protecting APIs and internal pipelines.
Pipeline
- 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).
Geocoding
- TaskHub.Shared.GeoCoding.Abstractions — Abstractions for geocoding providers.
- TaskHub.Shared.GeoCoding.Nominatim — Implementation of the geocoding service using the Nominatim API.
Observability
Metrics
- TaskHub.Observability.Metrics.Abstractions — Abstractions and options for metrics collection (meters, counters, histograms) used across services.
- TaskHub.Observability.Metrics.Implementation — Metrics implementation built on top of prometheus-net.
Tracing
- TaskHub.Observability.Traces — Tracing and implementation built on top of ActivitySource.
Logging
- TaskHub.Observability.Logger — Logging implementation built on top of Serilog.
OpenTelemetry
- TaskHub.Observability.OpenTelemetry — Preconfigured OpenTelemetry setup (resource, exporters, processors) for metrics, traces, and logs (Tempo, Prometheus, Loki).
Refactoring
- TaskHub.Shared.Refactoring.Abstractions — Abstractions for service refactoring.
- TaskHub.Shared.Refactoring.Implementation — Implementations for service refactoring and dynamic dependency resolution.
Swagger / OpenAPI
- TaskHub.Shared.Swagger — Common Swagger / OpenAPI configuration for ASP.NET Core services (conventions, filters, defaults).
Bootstrapping
- TaskHub.Shared.Bootstraper.Basic — Basic service bootstrapping (dependency injection, configuration, logging).
- TaskHub.Shared.Bootstraper.Full — Comprehensive service bootstrapping (all features, advanced configuration, etc.).
Design Principles
- DDD & Clean Architecture — Clear separation between abstractions and implementations.
- Lightweight by Design — Each project compiles into a minimal, focused package.
- Composability — Services import only the shared modules they actually depend on.
- Cross-Service Consistency — Unified patterns for results, commands, events, authorization, and observability (metrics, traces, logs).
| 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
- Microsoft.Extensions.DependencyInjection (>= 10.0.1)
NuGet packages (6)
Showing the top 5 NuGet packages that depend on TaskHub.Shared.Services.Abstractions:
| Package | Downloads |
|---|---|
|
TaskHub.Shared.Authorization.Abstractions
Authorization contracts, roles/permissions abstractions, and policies shared across services. |
|
|
TaskHub.Shared.GeoCoding.Abstractions
Abstractions for geocoding providers. |
|
|
TaskHub.Observability.Traces
Tracing contracts and ActivitySource abstractions for instrumenting command and HTTP pipelines. |
|
|
TaskHub.Observability.Logger
Common service interfaces for dependency inversion. |
|
|
TaskHub.Shared.Refactoring
TaskHub.Shared is a lightweight, modular shared kernel for .NET microservices. Built on DDD and Clean Architecture principles, it provides reusable primitives, CQRS pipelines, observability integrations (OpenTelemetry), and infrastructure adapters (EF Core, Redis, GeoCoding). Perfect for scalable task management systems. Explore modules for consistent cross-service patterns. |
GitHub repositories
This package is not used by any popular GitHub repositories.