AsadaGuitar / akka-cqrs-counter

Counter application built on CQRS using akka and http4s.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

akka-cqrs-counter

Akka Projection Version 1.2.5 sample project.
The system configuration assumes CQRS, EventSourcing.
This project is not intended for a production environment. Please use this information to get an overall picture.

Features

System Architecture

Diagrams

akka-cqrs-counter

Description & Dependency Libraries

  • Write API
    • This project builds ClusterSharding and provides event writing.
    • The project is structured around Akka.
    • Dependency Libraries
      • "com.typesafe.akka" %% "akka-actor-typed" % akkaVersion
      • "com.typesafe.akka" %% "akka-persistence-typed" % akkaVersion
      • "com.typesafe.akka" %% "akka-persistence-cassandra" % cassandraPersistenceVersion
      • "com.typesafe.akka" %% "akka-cluster-sharding-typed" % akkaVersion
      • "com.typesafe.akka" %% "akka-http" % akkaHttpVersion
  • Read API
    • read-api provides an Api to get a simple Counter. Also, due to Akka license changes, this project uses http4s.
    • Dependency Libraries
      • "org.http4s" %% "http4s-server" % http4sVersion
      • "org.http4s" %% "http4s-blaze-server" % http4sVersion
      • "org.http4s" %% "http4s-dsl" % http4sVersion
      • "com.typesafe.slick" %% "slick" % slickVersion
      • "org.postgresql" % "postgresql" % postgresVersion
  • Projection
    • It retrieves events written by write-api and builds a set of relational data in RDMS used by read-api.
    • Dependency Libraries
      • "com.typesafe.akka" %% "akka-persistence-typed" % akkaVersion
      • "com.typesafe.akka" %% "akka-persistence-cassandra" % cassandraPersistenceVersion
      • "com.typesafe.akka" %% "akka-cluster-sharding-typed" % akkaVersion
      • "com.lightbend.akka" %% "akka-projection-eventsourced" % akkaProjectionVersion
      • "com.lightbend.akka" %% "akka-projection-cassandra" % akkaProjectionVersion

Databases

About

Counter application built on CQRS using akka and http4s.


Languages

Language:Scala 100.0%