Skip to content

AnthonyZavala/projector-workshop

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

projector-workshop

A workshop designed around the Projector component type.

What is a Projector?

A projector has an ingress of events and persists state externally.

Component Types

Input/Output Events Commands External
Events Translator (ACL) Process Manager Projector (Projection)
Commands Aggregator (Aggregate) Controller (Translator/ACL) Actuator
External Sensor Actor System

Prerequisites

Workshop

In this workshop we will be working with the an inventory item example. Assume this example is for a store and a user can be create, stock, sell, activate, and deactivate inventory items.

State

InventoryItem is a container that holds state.

inventoryItem:
    id: e85c1ec3-f077-4625-adf2-5a593a293988
    name: "Item 1"
    count: 212
    active: true
    soldOut: false

Events

InventoryEvent defines the events that can happen to an InventoryItem state.

- Created:
    InventoryId: e85c1ec3-f077-4625-adf2-5a593a293988
    Name: "Item 1"

- Stocked:
    Count: 123

- Sold:
    Count: 43

- Activated

- Deactivated

About

A workshop designed around the Projector component type

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published