@openfun/verna v1.0.0-beta.1
Verna
An extensible form builder based on React JSON Schema Form.
Demos
To demonstrate verna capabilities, we developed several use case examples.
- Basic form playground:👀 Live demo, 🧑💻 Source code
- Poll form playground:👀 Live demo, 🧑💻 Source code
Overview
Verna is a React component to build forms that generates a JSON Schema description of the form as output. The form can then be rendered with the React JSON Schema Form library, which makes it fully extensible to fit your needs.
Quick preview
You can check examples available within the examples folder. Take a loot at the
README.md file in each example then follow instructions to run it.
Instructions
Install in our project
yarn add -E @openfun/vernaTest or contribute to the project
# -- Clone repository
git clone https://github.com/openfun/verna.git
cd verna
# -- Install dependencies
yarn install
# -- Run dev server
yarn devYou should now be able to access the playground example from http://localhost:5173
Project structure (Yarn workspaces)
This repository is a monorepo based on Yarn workspace to organize code.
Workspaces are located in two directories lib and examples. You can get info on all existing
workspace through yarn workspaces info command.
In lib, there is the @openfun/verna workspace that is the project itself which will be published
on npm then the examples directory aims to contain all the examples to demonstrate feature of
Verna.
Scripts
Through Yarn workspace, you are able to launch main commands from the root of this repository. Here are the available commands:
yarn build: Build the@openfun/vernalibrary for production.yarn dev: Build and watch@openfun/vernalibrary then start development server from the example workspace define through the environment variableVERNA_EXAMPLE(by default it usesverna-examples-playground, take a look atexamplesdirectory to see all examples available)yarn lint: Lint the code of all workspaces.yarn test: Run test suites from@openfun/vernaworkspace.
Contributing
This project is intended to be community-driven, so please, do not hesitate to get in touch if you have any question related to our implementation or design decisions.
We try to raise our code quality standards and expect contributors to follow the recommandations from our handbook.
License
This work is released under the MIT License (see LICENSE).
3 years ago
3 years ago