https://github.com/yakshavefx/outboxkit
Toolkit to assist in implementing the transactional outbox pattern
https://github.com/yakshavefx/outboxkit
csharp dotnet mongodb mysql postgresql transactional-outbox-pattern
Last synced: 10 months ago
JSON representation
Toolkit to assist in implementing the transactional outbox pattern
- Host: GitHub
- URL: https://github.com/yakshavefx/outboxkit
- Owner: YakShaveFx
- License: mit
- Created: 2024-10-30T14:42:56.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-02-19T08:16:47.000Z (over 1 year ago)
- Last Synced: 2025-03-25T08:38:15.701Z (over 1 year ago)
- Topics: csharp, dotnet, mongodb, mysql, postgresql, transactional-outbox-pattern
- Language: C#
- Homepage:
- Size: 813 KB
- Stars: 6
- Watchers: 1
- Forks: 0
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# OutboxKit

The goal of OutboxKit is to provide foundational features to assist in implementing the [transactional outbox pattern](https://blog.codingmilitia.com/2020/04/13/aspnet-040-from-zero-to-overkill-event-driven-integration-transactional-outbox-pattern/).
| Package | NuGet | Nightly Builds |
|---------|-------|----------------|
| Core | [](https://www.nuget.org/packages/YakShaveFx.OutboxKit.Core/) | [](https://f.feedz.io/yakshavefx/outboxkit/packages/YakShaveFx.OutboxKit.Core/latest/download) |
| Core.OpenTelemetry | [](https://www.nuget.org/packages/YakShaveFx.OutboxKit.Core.OpenTelemetry/) | [](https://f.feedz.io/yakshavefx/outboxkit/packages/YakShaveFx.OutboxKit.Core.OpenTelemetry/latest/download) |
| MySQL | [](https://www.nuget.org/packages/YakShaveFx.OutboxKit.MySql/) | [](https://f.feedz.io/yakshavefx/outboxkit/packages/YakShaveFx.OutboxKit.MySql/latest/download) |
| PostgreSQL | [](https://www.nuget.org/packages/YakShaveFx.OutboxKit.PostgreSql/) | [](https://f.feedz.io/yakshavefx/outboxkit/packages/YakShaveFx.OutboxKit.PostgreSql/latest/download) |
| MongoDB | [](https://www.nuget.org/packages/YakShaveFx.OutboxKit.MongoDb/) | [](https://f.feedz.io/yakshavefx/outboxkit/packages/YakShaveFx.OutboxKit.MongoDb/latest/download) |
> You can add the following [Feedz.io](https://feedz.io) source to your NuGet configuration to get the nightly builds: `https://f.feedz.io/yakshavefx/outboxkit/nuget/index.json`
Core ideas for this toolkit:
- focused - not trying to do many things, just focusing on doing one thing and doing it well (hopefully 🤞)
- unambitious - designed with specific uses cases in mind, not attempting to fit all possible scenarios
- customizable - while opinionated, there are a few knobs available to tweak, to simplify integration with different systems and preferences
## Why use this?
You probably shouldn't 😅. If possible, using more comprehensive libraries like [Wolverine](https://wolverinefx.net), [NServiceBus](https://particular.net/nservicebus), [Brighter](https://github.com/BrighterCommand/Brighter), [MassTransit](https://masstransit.io), etc, is probably a better idea, as they give a more integrated messaging experience (plus they've been at this for much longer, and in a wider range of scenarios). This toolkit is aimed at scenarios where greater degree of customization of the whole messaging approach is wanted.
## Docs
[OutboxKit docs](https://outboxkit.yakshavefx.dev)
## Misc
Logo by [@khalidabuhakmeh](https://github.com/khalidabuhakmeh)