README.md

# Eidetic

**Note:** The canonical repository is hosted [here](https://gitlab.com/gt8/open-source/elixir/eidetic), on GitLab.com.

[![Hex.pm](https://img.shields.io/hexpm/v/eidetic.svg)](https://hex.pm/packages/eidetic)
[![Hex.pm](https://img.shields.io/hexpm/l/eidetic.svg)](https://hex.pm/packages/eidetic)
[![Hex.pm](https://img.shields.io/hexpm/dw/eidetic.svg)](https://hex.pm/packages/eidetic)
[![build status](https://gitlab.com/gt8/open-source/elixir/eidetic/badges/master/pipeline.svg)](https://gitlab.com/gt8/open-source/elixir/eidetic/commits/master)
[![code coverage](https://gitlab.com/gt8/open-source/elixir/eidetic/badges/master/coverage.svg)](https://gitlab.com/gt8/open-source/elixir/eidetic/commits/master)

## An EventSourcing library for Elixir

*WARNING:* This is under active development. We do use this in production. API is unlikely to change, but not impossible. 1.0 expected soon

### About

Initial implementation of an event sourced model that can be used in Elixir.

#### Icon

"Casette Tape" icon by Vasily Gedzun from the Noun Project.

## Installing

```elixir
{:eidetic, "~> 0.5.0"}
```

## Tests

```shell
make test
```

## Creating Your First EventSourced Model

Please check out the [examples](/examples)

```elixir
defmodule MyModel do
  use Eidetic.Aggregate, fields: [forename: nil, surname: nil]
end
```