📚 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
DataAnnotationssystem. - Key Features:
NotDefaultAttribute— works on anystruct(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:
IDatabaseHelperinterface 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¶
-
ConnectSoft.Extensions.DatabaseModel.SqlServer
SQL Server implementation ofIDatabaseHelperusingSqlConnection. -
ConnectSoft.Extensions.DatabaseModel.PostgreSql
PostgreSQL implementation withNpgsqlConnection. -
ConnectSoft.Extensions.DatabaseModel.MySql
MySQL implementation usingMySqlConnector.
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:
IQueryBuilder→MicrosoftQueryBuilderISpecificationLocator→MicrosoftSpecificationLocatorDesigned to seamlessly resolve queries and specifications for repositories via standard .NET DI. Framework: .NET 8+ NuGet: ConnectSoft.Extensions.PersistenceModel.DependencyInjection Source: Repository
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.GrpcConnectSoft.Extensions.ServiceModel.Grpc.Client
Stay tuned for more reusable and production-ready components.
For templates that integrate these libraries, see ConnectSoft Templates.