Initially a project aimed as a commercial software, here is a demo for it: https://www.youtube.com/watch?v=97lAMRrAcF4&feature=youtu.be
compile/run/deploy as a standard Play app
for local deployment, you need a Postgres database instance at localhost:5432/cherrytree
, details see application.conf
test with sbt sharedJVM/test
, sbt sharedJVM/testOnly xxx
etc.
- static assertion is by assert and doc
- dynamic check use exception
shared/.../model
: abstract and pure functionsdata
: data object definition, serializationcursor
: data type for cursor inside datarange
: data type for range inside data, from left to right styleoperation
: operation definition on dataconflict
,transaction
: helper definitionsot
operational transformation for operations
shared/.../client
: abstract clientshared/.../undoer
, etc.: part of client functionality separated out
jvm
: abstract server implementationjs
the web client