Introduction
An updated proof of concept Web editor for smart contract modeling using DasContract v2.0 visual domain specific language.
This is the result of my Computer Science degree thesis project.
This application is fully written on React. Primarily, it integrates the functionality of bpmn-js and dmn-js, for modeling purposes, alongside with react-jsonschema-form and react-codemirror, for user input; and lastly, react-resizable and react-dropzone to improve usability.
Dependencies
The main dependencies used are listed.
Basic
- State management: React Redux
- Routing: Reach Router
- UI design: Bootstrap 5 and Font Awesome icons
- Testing: Jest and React Testing Library
- Documentation: JSDoc and better-docs
Domain specific
- BPMN: bpmn-js, bpmn-js-properties-panel and bpmn-js-bpmnlint
- DMN: dmn-js
- Forms: react-jsonschema-form and react-codemirror
Others
- Resizable components: react-resizable
- Dropzone for file load: react-dropzone
Component diagram
A component diagram that denotes the high level interactions between React components.
How to run and build
-
Install the dependencies: yarn install
-
Deploy the development server: yarn start
To generate the production build: yarn build