For a first public demo, you can try our main app: https://formswizard.github.io/formswizard/new
flowchart TB
subgraph apps
demo
dev
storybook
end
subgraph features
edit-table
edit-form
edit-timeline
end
subgraph core
direction TB
state -.- secured-react-redux-yjs
secured-react-redux-yjs --> security-state
secured-react-redux-yjs --> react-redux-yjs
end
subgraph common
style_[style]
end
edit-table --> core
edit-form --> core
edit-timeline --> core
features --> common
demo --> example
dev --> example
storybook --> example
example --> edit-table
example --> edit-form
example --> edit-timeline
example --> core
example --> layout
core --> common
layout --> core
layout --> common
This Turborepo includes the following packages/apps:
./apps/demo
: A Next.js app containing the live demo../apps/dev
: Another Next.js app including some dev output../apps/storybook
: Documentation of all relevant React components via storybook.js.
./packages/example
: An example App (used bydemo
anddev
)../packages/layout
: UI components used in./packages/example
.
./packages/state
: The shared redux state used by all features (./packages/edit*
). Collaboration of this state is provided bysecured-react-redux-yjs
../packages/secured-react-redux-yjs
: Secures settings forreact-redux-yjs
withsecurity-state
./packages/react-redux-yjs
: Provider to exchange redux state via Yjs./packages/security-state
: Provider for security relevant state, enforcing security using declarative threat models.
./packages/edit*
: Editors/Visualizations using the same./packages/state
.
./packages/style
: Themes shared for all components.
Each package/app is 100% TypeScript.
To build all apps and packages, run:
pnpm build
Than you should be able to serve it with an arbitrary webserver:
(cd apps/demo/out/; python -m http.server) &
xdg-open http://localhost:8000
To develop all apps and packages, run:
pnpm dev
To synchorize several browser instances via Y-webrtc, start a signaling server:
./node_modules/y-webrtc/bin/server.js
To run all tests, run:
pnpm test
Or to watch for changed files:
pnpm testWatch
To update all dependencies, run:
pnpm update -r --latest