Skip to content

A toy project to explore the capabilities of functional event-sourcing using Kotlin

License

Notifications You must be signed in to change notification settings

rcardin/functional-event-sourcing-in-kotlin

Repository files navigation

Kotlin Version GitHub Workflow Status (with branch) ktlint

Functional Event-Sourcing in Kotlin

A toy project to explore the capabilities of functional event-sourcing using Kotlin

User Stories

The project try to implement the following user stories. The domain is a simplified stock trading system.

  • A user should create a new portfolio.
  • A user should buy stocks for an existing portfolio.
  • A user should sell stocks that it owns.
  • A user should close a portfolio.

Event Storming / Domain Modeling

The following diagram shows the domain model of the system. The model is based on the user stories above.

Event Storming for the Portfolio Domain

Technology Stack

The project uses the following technologies:

References

The project is heavily inspired by the following resources: