TailoredApps .NET Shared Components¶
Welcome to the documentation of TailoredApps Shared Components — a set of reusable .NET libraries that accelerate the development of professional web applications. Each library solves one specific problem and is designed for testability, extensibility, and integration with the ASP.NET Core + MediatR ecosystem.
Libraries¶
| Library | NuGet | Description |
|---|---|---|
| DateTime | TailoredApps.Shared.DateTime |
IDateTimeProvider abstraction for mocking time in tests |
TailoredApps.Shared.Email |
SMTP provider, email template builder, console mode | |
| Email.Models | TailoredApps.Shared.Email.Models |
MailMessage data model |
| Email.Office365 | TailoredApps.Shared.Email.Office365 |
Sending via Microsoft Graph API (IMAP OAuth2) |
| EntityFramework | TailoredApps.Shared.EntityFramework |
Unit of Work pattern on EF Core with auditing and hooks |
| EntityFramework.UnitOfWork.WebApiCore | TailoredApps.Shared.EntityFramework.UnitOfWork.WebApiCore |
Automatic transactions via ASP.NET Core filter |
| ExceptionHandling | TailoredApps.Shared.ExceptionHandling |
Middleware and filter for exception handling in Web API |
| MediatR | TailoredApps.Shared.MediatR |
Pipeline behaviors: Logging, Validation, Caching, Fallback, Retry |
| MediatR.Caching | TailoredApps.Shared.MediatR.Caching |
ICachableRequest marker interface for caching requests |
| MediatR.Email | TailoredApps.Shared.MediatR.Email |
SendMail command + handler — email via MediatR pipeline |
| MediatR.ML | TailoredApps.Shared.MediatR.ML |
Image classification via ML.NET in MediatR pipelines |
| MediatR.PagedRequest | TailoredApps.Shared.MediatR.PagedRequest |
Base MediatR request with pagination and sorting |
| Payments | TailoredApps.Shared.Payments |
Payment gateway abstraction — IPaymentService + IPaymentProvider |
| Payments.Provider.Adyen | TailoredApps.Shared.Payments.Provider.Adyen |
Adyen integration |
| Payments.Provider.CashBill | TailoredApps.Shared.Payments.Provider.CashBill |
CashBill integration |
| Payments.Provider.HotPay | TailoredApps.Shared.Payments.Provider.HotPay |
HotPay integration |
| Payments.Provider.PayNow | TailoredApps.Shared.Payments.Provider.PayNow |
PayNow (mBank) integration |
| Payments.Provider.PayU | TailoredApps.Shared.Payments.Provider.PayU |
PayU integration |
| Payments.Provider.Przelewy24 | TailoredApps.Shared.Payments.Provider.Przelewy24 |
Przelewy24 integration |
| Payments.Provider.Revolut | TailoredApps.Shared.Payments.Provider.Revolut |
Revolut Pay integration |
| Payments.Provider.Stripe | TailoredApps.Shared.Payments.Provider.Stripe |
Stripe Checkout integration |
| Payments.Provider.Tpay | TailoredApps.Shared.Payments.Provider.Tpay |
Tpay integration |
| Querying | TailoredApps.Shared.Querying |
Base query classes: QueryBase, PagedAndSortedQuery, IPagedResult |
Quick Start¶
# Install the chosen library
dotnet add package TailoredApps.Shared.MediatR
dotnet add package TailoredApps.Shared.EntityFramework
dotnet add package TailoredApps.Shared.Payments
Full documentation for each library — including code examples, DI registration, and ready-made AI agent prompts — is available in the Libraries section in the side menu.
Contributing¶
Before adding a new library, read the contributing guidelines and DOCUMENTATION_RULE.
Every new library must have a documentation page — PRs without one will be rejected.