A building blocks for elixir CQRS segregated applications.
The package can be installed by adding helios
to your list of dependencies in mix.exs
:
def deps do
[
{:helios, "~> 0.2"}
]
end
Example application can be seen here
It is important to knwo that there is minimum configuration that has to be explicitly configured in your application, without it application will not work or start.
use Mix.Config
config :your_app, :default_journal,
YourApp.DefaultJournal
# you also need to configure that journal
config :your_app, YourApp.DefaultJournal,
adapter: Helios.EventJournal.Adapter.Memory # ETS journal
adapter_config: []
or, if you need to persist events over application restarts
use Mix.Config
config :your_app, :default_journal,
YourApp.DefaultJournal
config :your_app, YourApp.DefaultJournal,
adapter: Helios.EventJournal.Adapter.Eventstore
adapter_config: [
db_type: :node,
host: "localhost",
port: 1113,
username: "admin",
password: "changeit",
connection_name: "your_app",
max_attempts: 10
]
don't forget to add extreme dependency to
your project {:extreme, "~> 0.13"}