Skip to content

📚 ConnectSoft Libraries Catalog

ConnectSoft provides a curated set of reusable libraries published as NuGet packages. Each library is designed to encapsulate a specific cross-cutting concern or foundational capability for modern .NET applications.

All packages are compatible with .NET 8+ and align with best practices in microservice, DDD, and configuration-driven environments.


✅ Available Libraries

1. ConnectSoft.Extensions

  • Purpose: Utility extensions for native .NET types (string, int, DateTime, etc.) and shared base types.
  • Key Features:
    • string.ToSlug(), int.IsEven(), DateTime.IsWeekend()
    • IEnumerable<T>.IsNullOrEmpty()
    • Base exception for domain logic: DomainModelException
  • Use Cases: Utility libraries, shared code, microservices
  • NuGet: View Package
  • Status: 🟢 Stable

2. ConnectSoft.Extensions.DataAnnotations

  • Purpose: Adds missing validation functionality to .NET's DataAnnotations system.
  • Key Features:
    • NotDefaultAttribute — works on any struct (Guid, DateTime, int, etc.)
    • Null-safe: integrates cleanly with [Required] if needed
    • Supports IOptions<T>, domain models, and DTOs
  • Use Cases: Domain validation, configuration binding, API model validation
  • NuGet: View Package
  • Status: 🟢 Stable

3. ConnectSoft.Extensions.DatabaseModel

  • Purpose: Provides an abstraction layer for managing and provisioning database instances.
  • Key Features:
    • IDatabaseHelper interface for cross-database operations: creation, schema setup, SQL execution
    • Core interface, no database-specific logic
  • Use Cases: Infrastructure initialization, CI/CD provisioning, tenant setup
  • NuGet: View Package
  • Status: 🟢 Stable

🔌 Implementors


4. ConnectSoft.Extensions.Globalization

  • Purpose: Provides utilities and calendar extensions for working with the Jewish calendar and Hebrew characters.
  • Key Features:
    • Gregorian ⇄ Jewish date conversions
    • Jewish holiday recognition
    • Leap year and day-of-week calculations
    • Hebrew character classification (letters, finals, etc.)
  • Use Cases: Localization engines, religious calendar support, Hebrew text analysis
  • NuGet: View Package
  • Status: 🟢 Stable

5. ConnectSoft.Extensions.MessagingModel

A messaging-agnostic abstraction that defines base interfaces for event-driven communication patterns. Purpose: Acts as the foundation for messaging libraries, providing core contracts like ICommand, IEvent, and IEventBus. Framework: .NET 8+ NuGet: ConnectSoft.Extensions.MessagingModel Source: Repository Status: 🟢 Stable Implementations:

  • ConnectSoft.Extensions.MessagingModel.NServiceBus
  • ConnectSoft.Extensions.MessagingModel.MassTransit

6. ConnectSoft.Extensions.MessagingModel.MassTransit

MassTransit-based implementation of the ConnectSoft messaging model abstraction. Purpose: Bridges IEventBus with MassTransit APIs for command and event messaging. Framework: .NET 8+ NuGet: ConnectSoft.Extensions.MessagingModel.MassTransit Source: Repository


7. ConnectSoft.ExtensionsMessagingModel.NServiceBus

NServiceBus-based implementation of the ConnectSoft messaging model abstraction. Purpose: Bridges IEventBus with NServiceBus APIs; includes extra utilities like DI extensions and header propagation. Framework: .NET 8+ NuGet: ConnectSoft.ExtensionsMessagingModel.NServiceBus Source: Repository


8. ConnectSoft.Extensions.EntityModel

Comprehensive modeling base for Domain-Driven Design (DDD) in .NET applications.
Purpose: Provides base contracts for entities, value objects, aggregate roots, and rich enumerations. Enables consistent modeling patterns across bounded contexts.
Framework: .NET 8+
NuGet: ConnectSoft.Extensions.EntityModel
Source: Repository


9. ConnectSoft.Extensions.DomainModel

Foundation for implementing Domain Services and Use Case handlers based on Domain-Driven Design (DDD), Clean Architecture, and Hexagonal Architecture principles. Purpose: Supports separation of concerns by defining contracts for IDomainService and IUseCase<TInput, TOutput>; enables maintainable, testable application cores. Framework: .NET 8+ NuGet: ConnectSoft.Extensions.DomainModel Source: Repository


10. ConnectSoft.Extensions.DomainModel.Impl

🛠️ Under Construction Implementation-ready shell for domain modeling components (IDomainService, IUseCase, etc.) defined in ConnectSoft.Extensions.DomainModel.
Purpose: Serves as the starting point for internal or shared domain service implementations that extend base contracts.
Framework: .NET 8+
NuGet: ConnectSoft.Extensions.DomainModel.Impl
Source: Repository


11. ConnectSoft.Extensions.Transactions

Lightweight abstraction for managing transactional boundaries in a clean and testable manner.
Purpose: Centralizes ITransaction and TransactionScopeTransaction handling in a consistent interface across persistence strategies.
Framework: .NET 8+
NuGet: ConnectSoft.Extensions.Transactions
Source: Repository


12. ConnectSoft.Extensions.PersistenceModel

Data source–agnostic abstraction for persistence patterns such as repository, unit of work, specifications, and queries. Designed for use with DDD and clean architecture approaches.
Purpose: Provides consistent and testable data access APIs over any backing store. Built on top of ConnectSoft.Extensions.EntityModel.
Framework: .NET 8+
NuGet: ConnectSoft.Extensions.PersistenceModel
Source: Repository


13. ConnectSoft.Extensions.PersistenceModel.DependencyInjection

Dependency injection extensions for the ConnectSoft persistence model. Purpose: Provides Microsoft.Extensions.DependencyInjection–based implementations of key infrastructure components:


14. ConnectSoft.Extensions.PersistenceModel.NHibernate

NHibernate-based implementation of the ConnectSoft persistence model abstraction.
Purpose: Enables full repository, unit of work, query, and specification patterns using NHibernate; includes logging, transient tracking, enumeration mapping, and DI support.
Framework: .NET 8+
NuGet: ConnectSoft.Extensions.PersistenceModel.NHibernate
Source: Repository


15. ConnectSoft.Extensions.ServiceModel

Communication-agnostic base library for structured service contracts, fault handling, and interoperable message definitions.
Purpose: Defines fault contracts, service/message wrappers, and metadata for use across WCF, REST, gRPC, CoreWCF, Orleans, and Service Fabric.
Framework: .NET 8+
NuGet: ConnectSoft.Extensions.ServiceModel
Source: Repository


16. ConnectSoft.Text.Json

Extension library built on System.Text.Json to enhance enum serialization, formatting, and deserialization behaviors.
Purpose: Supports [EnumMember(Value = "...")], improves compatibility with external APIs, and simplifies JSON configuration.
Framework: .NET 8+
NuGet: ConnectSoft.Text.Json
Source: Repository


17. ConnectSoft.Extensions.Http.OAuth2

Extensible, DI-based library for OAuth 2.0 token acquisition and management in .NET 8+.
Purpose: Supports multiple grant types (client credentials, password, refresh), named clients, token caching, ID token validation, and test automation with WireMock.
Framework: .NET 8+
NuGet: ConnectSoft.Extensions.Http.OAuth2
Source: Repository


18. ConnectSoft.Net.Http

Extension utilities for working with HttpClient in .NET.
Purpose: Adds missing methods like DeleteAsJsonAsync, and includes SubdirectoryHandler for reverse proxy URL rewriting — useful in gRPC or IIS-hosted services.
Framework: .NET 8+
NuGet: ConnectSoft.Net.Http
Source: Repository


📦 Coming Soon

  • ConnectSoft.Extensions.ServiceModel.Grpc
  • ConnectSoft.Extensions.ServiceModel.Grpc.Client

Stay tuned for more reusable and production-ready components.
For templates that integrate these libraries, see ConnectSoft Templates.