Skip to content
Adam Mikulasev edited this page Jun 14, 2025 · 10 revisions

Outboxer Wiki

  1. Introduction
    Why Outboxer exists. Event-driven architecture + DDD + the outbox pattern.

  2. Decoupling with Events
    How Outboxer::Message.queue helps aggregates emit events without tight coupling.

  3. The Transactional Outbox Pattern
    Why queuing messages in the same transaction matters, and how Outboxer ensures reliability.


Core Concepts

  1. Domain-Driven Design in Rails
    Aggregates, value objects, invariants, and bounded contexts—explained with Rails code.

  2. Working with Outboxer::Message
    How to queue, structure, and manage messages in your domain models.

  3. Publishing Messages
    How Outboxer::Publisher.publish_messages works, and how to handle published events (e.g. with Sidekiq).


Real-World Usage

  1. Integrating with Your App
    Setup, configuration, and example scripts for real apps.

  2. Modularising a Rails Monolith
    Using Outboxer + DDD to break up responsibilities across contexts.

  3. Case Study: Accountify
    A real example of Outboxer + DDD in production—patterns, lessons, and benefits.


Operations & Support

  1. Monitoring & Web UI
    How to mount and use the Outboxer web interface for message visibility.

  2. Testing Strategies
    How to test message queuing and delivery in a safe, fast way.

  3. Troubleshooting & FAQ
    Common issues, message retry logic, race conditions, and gotchas.

Clone this wiki locally