# Outboxer v0.1.0 - API Reference

## Modules

- Core
  - [Outboxer](Outboxer.md): A transactional outbox for Ecto.
  - [Outboxer.Envelope](Outboxer.Envelope.md): A stored outbox message, as handed to a relay.
  - [Outboxer.Message](Outboxer.Message.md): The behaviour every outbox message implements.
  - [Outboxer.Migration](Outboxer.Migration.md): Creates and drops the outbox table.
  - [Outboxer.Testing](Outboxer.Testing.md): Helpers for testing code that publishes to an outbox.

- Relays
  - [Outboxer.Relay](Outboxer.Relay.md): The behaviour for a relay: the thing that takes messages out of the outbox
and hands them to a broker, a queue or anything else.
  - [Outboxer.Relay.Function](Outboxer.Relay.Function.md): A relay that calls a function for every message.
  - [Outboxer.Relay.Kafka](Outboxer.Relay.Kafka.md): Relays messages to Kafka through [brod](https://hex.pm/packages/brod).
  - [Outboxer.Relay.Oban](Outboxer.Relay.Oban.md): Relays messages into [Oban](https://hex.pm/packages/oban) as jobs.
  - [Outboxer.Relay.SQS](Outboxer.Relay.SQS.md): Relays messages to Amazon SQS through
[ex_aws_sqs](https://hex.pm/packages/ex_aws_sqs).

- Storage
  - [Outboxer.Storage](Outboxer.Storage.md): The behaviour between Outboxer and the database that holds the outbox.
  - [Outboxer.Storage.Postgres](Outboxer.Storage.Postgres.md): Postgres storage. Safe to run on any number of nodes.
  - [Outboxer.Storage.SQLite](Outboxer.Storage.SQLite.md): SQLite storage, for single-node applications.

