Монорепозиторий shared NuGet-библиотек для разработки микросервисных приложений на .NET 8.
Каждый модуль — самостоятельный пакет со своим .sln, .csproj и версией. Публикуется на внутренний NuGet при мерже в main (см. .github/workflows/publish.yml).
Полный каталог всех пакетов с описаниями: docs/modules-reference.md.
- Outbox — транзакционная публикация сообщений (EF Core, Neo4j; scheduler; MassTransit-интеграция)
- Inbox — приём входящих сообщений с дедупликацией и фоновой обработкой (EF Core; scheduler; транспорт-агностичный)
- OnceExecutor — идемпотентное выполнение операций по ключу (EF Core, Memory, ClickHouse, Neo4j)
Клиент-серверная система аудита. Транспорт: MassTransit (RabbitMQ) или gRPC. EF Core interceptors для автоаудита SaveChanges/транзакций, интеграция с MediatR pipeline и ILogger.
Dex.MassTransit— обёртки над MassTransit (Rabbit, SQS, ActivityTrace/OpenTelemetry)Dex.Events.Distributed— распределённые события поверх MassTransit; интеграция с Outbox (README)
Dex.DistributedCache— кэш HTTP-ответов с ETag, зависимостями и инвалидацией (README)Dex.Lock— распределённые блокировкиDex.SecurityTokenProvider+Dex.SecurityToken.DistributedStorage— одноразовые security-токеныDex.Specifications(+.EntityFramework,.Extensions) — паттерн Specification
Dex.Configuration.ProtectedJson— JSON-конфиги с автоматической расшифровкой полей (README)Dex.Configuration.DataProtection+.Cli— фабрикаIDataProtectorи CLI для шифрования секретов (README)Dex.ResponseSigning— подпись тела HTTP-ответа и верификация на клиенте (README)Dex.TransientExceptions— конфигурируемый определитель transient-ошибок для Polly/MassTransit retry (README)
Dex.Types, Dex.Extensions, Dex.Entity, Dex.Buffer, Dex.Inflector, Dex.Neo4J
Dex.Pagination
Dex.CreditCardType.Resolver, Dex.PdfGenerator, Dex.TeamCity
# Сборка
dotnet build src/Dex.sln
# Тесты (все)
dotnet test src/Dex.sln
# Тесты одного модуля
dotnet test src/Dex.Cap/Dex.Cap.slnДля тестов, требующих инфраструктуру (PostgreSQL, RabbitMQ, Redis):
docker-compose -f src/docker-compose.yml up -d- Базовые утилиты —
netstandard2.1 + net8.0(версии1.x) - Модули с EF Core / ASP.NET зависимостями —
net8.0(версии8.x)
Централизованные версии зависимостей — в src/Directory.Build.targets.
MIT — см. LICENSE.