8000
Skip to content

Latest commit

 

History

311 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dex-common

Монорепозиторий shared NuGet-библиотек для разработки микросервисных приложений на .NET 8.

Каждый модуль — самостоятельный пакет со своим .sln, .csproj и версией. Публикуется на внутренний NuGet при мерже в main (см. .github/workflows/publish.yml).

Полный каталог всех пакетов с описаниями: docs/modules-reference.md.

Состав

Транзакционная надёжность — Dex.Cap

  • Outbox — транзакционная публикация сообщений (EF Core, Neo4j; scheduler; MassTransit-интеграция)
  • Inbox — приём входящих сообщений с дедупликацией и фоновой обработкой (EF Core; scheduler; транспорт-агностичный)
  • OnceExecutor — идемпотентное выполнение операций по ключу (EF Core, Memory, ClickHouse, Neo4j)

См. src/Dex.Cap/README.md.

Аудит — Dex.Audit

Клиент-серверная система аудита. Транспорт: MassTransit (RabbitMQ) или gRPC. EF Core interceptors для автоаудита SaveChanges/транзакций, интеграция с MediatR pipeline и ILogger.

См. src/Dex.Audit/README.md.

Messaging

  • 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)

Базовые утилиты (netstandard2.1 + net8.0)

Dex.Types, Dex.Extensions, Dex.Entity, Dex.Buffer, Dex.Inflector, Dex.Neo4J

Утилиты (net8.0)

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

Target Frameworks

  • Базовые утилиты — netstandard2.1 + net8.0 (версии 1.x)
  • Модули с EF Core / ASP.NET зависимостями — net8.0 (версии 8.x)

Централизованные версии зависимостей — в src/Directory.Build.targets.

Лицензия

MIT — см. LICENSE.

About

A set of C# libraries for streamlined microservice development: audit, caching, outbox, CAP, MassTransit (events & config), idempotency, specifications, security, and other useful utilities. Packages: https://www.nuget.org/profiles/dex

Topics

Resources

Stars

14 stars

Watchers

3 watching

Forks

Sponsor this project

Used by

Contributors

Languages

0