Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/formswizard/processing
Collaborative editor for JSONSchema typed datasets
https://github.com/formswizard/processing
Last synced: 20 days ago
JSON representation
Collaborative editor for JSONSchema typed datasets
- Host: GitHub
- URL: https://github.com/formswizard/processing
- Owner: FormsWizard
- License: mit
- Created: 2023-07-08T03:46:50.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2023-09-30T02:11:51.000Z (over 1 year ago)
- Last Synced: 2024-11-08T21:08:07.184Z (2 months ago)
- Language: TypeScript
- Homepage:
- Size: 578 KB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# FormsWizard Processing
## Open a Demo
For a first public demo, you can try our main app: https://formswizard.github.io/formswizard/new
## Apps and Packages
```mermaid
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
endsubgraph common
style_[style]
endedit-table --> core
edit-form --> core
edit-timeline --> core
features --> commondemo --> example
dev --> example
storybook --> exampleexample --> edit-table
example --> edit-form
example --> edit-timelineexample --> core
example --> layoutcore --> common
layout --> core
layout --> common
```This [Turborepo](https://turbo.build/) includes the following packages/apps:
### Apps
- `./apps/demo`: A [Next.js](https://nextjs.org/) app containing the live demo.
- `./apps/dev`: Another [Next.js](https://nextjs.org/) app including some dev output.
- `./apps/storybook`: Documentation of all relevant React components via [storybook.js](https://storybook.js.org/).### Example
- `./packages/example`: An example App (used by `demo` and `dev`).
- `./packages/layout`: UI components used in `./packages/example`.### Core
- `./packages/state`: The shared redux state used by all features (`./packages/edit*`). Collaboration of this state is provided by `secured-react-redux-yjs`.
- `./packages/secured-react-redux-yjs`: Secures settings for `react-redux-yjs` with `security-state`
- `./packages/react-redux-yjs`: Provider to exchange redux state via [Yjs](https://yjs.dev/)
- `./packages/security-state`: Provider for security relevant state, enforcing security using declarative threat models.### Features
- `./packages/edit*`: Editors/Visualizations using the same `./packages/state`.### Common
- `./packages/style`: Themes shared for all components.Each package/app is 100% [TypeScript](https://www.typescriptlang.org/).
## Build
To build all apps and packages, run:
```sh
pnpm build
```Than you should be able to serve it with an arbitrary webserver:
```sh
(cd apps/demo/out/; python -m http.server) &
xdg-open http://localhost:8000
```## Develop
To develop all apps and packages, run:
```sh
pnpm dev
```To synchorize several browser instances via Y-webrtc, start a signaling server:
```sh
./node_modules/y-webrtc/bin/server.js
```## Test
To run all tests, run:
```sh
pnpm test
```Or to watch for changed files:
```sh
pnpm testWatch
```## Update dependencies
To update all dependencies, run:
```sh
pnpm update -r --latest
```