A Building blocks for elixir CQRS segregated applications
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
config
guides
integration_test
lib
test
.formatter.exs
.gitignore
.tool-versions
CHANGELOG.md
LICENSE
README.md
mix.exs
mix.lock
test_all.sh

README.md

Helios

A building blocks for elixir CQRS segregated applications.

Installation

If available in Hex, the package can be installed by adding helios to your list of dependencies in mix.exs:

def deps do
  [
    {:helios, "~> 0.1"}
  ]
end

Example application can be seen here

Configuration

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.

Default Event Journal

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"}

Guides

Documentation can be generated with ExDoc and published on HexDocs. Once published, the docs can be found at https://hexdocs.pm/helios.