io.github.crabzilla:crabzilla-vavr-example1

Yet another Event Sourcing experiment

License

License

Categories

Categories

Vavr General Purpose Libraries Functional Programming
GroupId

GroupId

io.github.crabzilla
ArtifactId

ArtifactId

crabzilla-vavr-example1
Last Version

Last Version

0.0.5
Release Date

Release Date

Type

Type

pom
Description

Description

Yet another Event Sourcing experiment

Download crabzilla-vavr-example1

How to add to project

<!-- https://jarcasting.com/artifacts/io.github.crabzilla/crabzilla-vavr-example1/ -->
<dependency>
    <groupId>io.github.crabzilla</groupId>
    <artifactId>crabzilla-vavr-example1</artifactId>
    <version>0.0.5</version>
    <type>pom</type>
</dependency>
// https://jarcasting.com/artifacts/io.github.crabzilla/crabzilla-vavr-example1/
implementation 'io.github.crabzilla:crabzilla-vavr-example1:0.0.5'
// https://jarcasting.com/artifacts/io.github.crabzilla/crabzilla-vavr-example1/
implementation ("io.github.crabzilla:crabzilla-vavr-example1:0.0.5")
'io.github.crabzilla:crabzilla-vavr-example1:pom:0.0.5'
<dependency org="io.github.crabzilla" name="crabzilla-vavr-example1" rev="0.0.5">
  <artifact name="crabzilla-vavr-example1" type="pom" />
</dependency>
@Grapes(
@Grab(group='io.github.crabzilla', module='crabzilla-vavr-example1', version='0.0.5')
)
libraryDependencies += "io.github.crabzilla" % "crabzilla-vavr-example1" % "0.0.5"
[io.github.crabzilla/crabzilla-vavr-example1 "0.0.5"]

Dependencies

compile (2)

Group / Artifact Type Version
javax.inject : javax.inject jar 1
org.slf4j : slf4j-api jar 1.7.8

provided (1)

Group / Artifact Type Version
org.projectlombok : lombok jar 1.16.18

test (4)

Group / Artifact Type Version
org.junit.vintage : junit-vintage-engine jar 4.12.0-RC2
org.junit.jupiter : junit-jupiter-api jar 5.0.0-RC2
org.mockito : mockito-core jar 2.7.4
org.assertj : assertj-core jar 3.5.0

Project Modules

  • crabzilla-vavr-example1-core
  • crabzilla-vavr-example1-database
  • crabzilla-vavr-example1-service

Build Status codecov Jitpack Maven Central

Goals for version 1.0.0

  • Command controller
  • Events publisher
  • Getting started tutorial
  • Observability (publishing stats to eventbus)
  • Web interface to write model (to track commands, events, etc)

Status

It's still in very early development stage. Do not use release 0.0.5, master branch is very different from that.

Getting started

  1. Add the JitPack repository to your build file:
<repositories>
  <repository>
    <id>jitpack.io</id>
    <url>https://jitpack.io</url>
  </repository>
</repositories>
  1. Add the dependency:
<dependency>
    <groupId>com.github.crabzilla.crabzilla</groupId>
    <artifactId>crabzilla-pg-client</artifactId>
    <version>v0.1.3</version>
</dependency>

Building

Requirements
  • Java 8
  • Maven (tested with 3.5.0+)
  • Docker compose (tested with 1.18.0)
  • Kotlin plugin for your IDE
Steps
  1. Clone it:
git clone https://github.com/crabzilla/crabzilla
cd crabzilla
  1. Start docker-compose running a Postgres database (port 5432 will be used):
docker-compose up
  1. Open another terminal and build it, running both unit and integration tests:
mvn clean install -DskipTests=false

Dependencies overview

GitHub Logo

io.github.crabzilla

Versions

Version
0.0.5