A spike replicating Vue apps via the matrix protocol in a kappa architecture
git clone https://gitlab.com/orangeman/2nix.git
cd 2nix
npm i
vue serve
Vuejs apps have local state. Matrix is a state replication protocol.
Kappa architecture (event sourcing): append-only log of change events to synchronize distributed data sets.
Decoupled "apps" write data changes in (multi-party e2e encrypted) matrix rooms. In case of network partition the protocol makes sure everyone eventually arrives at the same consistent log. Apps derive their local state from that shared changelog history.
npm install -g @vue/cli
npm install -g @vue/cli-service-global
-
synchronous + stateless : Event-Carried State Transfer
-
asynchronous + stateful : REpresentational State Transfer