tripetto-runner-foundation
Version:
Foundation library for building form/survey runners for Tripetto.
52 lines (36 loc) • 4.16 kB
Markdown
# <a href="https://tripetto.com/"><img src="https://unpkg.com/tripetto/assets/banner.svg" alt="Tripetto"></a>
Tripetto is a full-fledged form kit. Rapidly build and run smart flowing forms and surveys. Drop the kit in your codebase and use all of it or just the parts you need. The visual [**builder**](https://www.npmjs.com/package/tripetto) is for form building, and the [**runners**](https://www.npmjs.com/package/tripetto-runner-foundation) are for running those forms in different UI variants. It is entirely extendible and customizable. Anyone can build their own building [**blocks**](https://docs.tripetto.com/guide/blocks) (e.g., question types) or runner UI's.
# Runner Foundation package
[](https://www.npmjs.com/package/tripetto)
[](https://www.npmjs.com/package/tripetto)
[]()
[](https://docs.tripetto.com/guide/runners/)
[](https://twitter.com/tripetto)
# Purpose
This library handles all the complicated stuff that comes into play when running forms and surveys with advanced logic capabilities. The goal here is to make it easy for developers to create awesome UI's that can run Tripetto forms without having to reinvent the wheel every time.
# How it works
The runner foundation turns a JSON form definition (created with the Tripetto builder) into an executable program; a finite state machine that handles all the complex logic and data collection during the execution of the form. It then fires the right events at the right moment so a UI can render according to the state of the runner. The runner foundation is headless and unopinionated, so you can use any UI framework you like. And because it is a state machine, the runner also supports pausing and resuming later on.
# Get started
To use the library in your project you should install the runner foundation package as a dependency using the following command:
```bash
$ npm install tripetto-runner-foundation --save
```
This package supports TypeScript our of the box (the TypeScript definitions are included).
# Runners built with this package
- Classic Runner | [npm](https://www.npmjs.com/package/tripetto-runner-classic) | [demo](https://tripetto.gitlab.io/runners/classic/)
- Autoscroll Runner | [npm](https://www.npmjs.com/package/tripetto-runner-autoscroll) | [demo](https://tripetto.gitlab.io/runners/autoscroll/)
- Chat Runner | [npm](https://www.npmjs.com/package/tripetto-runner-chat) | [demo](https://tripetto.gitlab.io/runners/chat/)
# Documentation
The complete documentation can be found at [docs.tripetto.com](https://docs.tripetto.com).
Detailed **runner** documentation is available [here](https://docs.tripetto.com/guide/runners/).
More about the form **builder** is found [here](https://docs.tripetto.com/guide/builder/).
If you want to develop your own building **blocks**, read more [here](https://docs.tripetto.com/guide/blocks/) or start with our [boilerplate](https://gitlab.com/tripetto/blocks/boilerplate).
# Support
Run into issues or bugs? Report them [here](https://gitlab.com/tripetto/runner-foundation/issues) and we'll look into them.
For general support contact us at [support@tripetto.com](mailto:support@tripetto.com). We're more than happy to assist you.
# License
Have a blast. [MIT](https://opensource.org/licenses/MIT).
# Community
We hope other enthusiasts will also start to develop and share runners and blocks for Tripetto. We have a [repository](https://github.com/tripetto/community) where we collect a list of community driven blocks and runners. Did you build something? Submit a [PR](https://github.com/tripetto/community/pulls) and add yours to the list. We appreciate it!
# About us
If you want to learn more about Tripetto or contribute in any way, visit us at [Tripetto.com](https://tripetto.com/).