The Fast Form Designer is a lightweight form prototyper designed to scaffold Dynamic Forms for Loss Control 360 (LC360). The design omits details such as visibilities, validations, and calculations in get the basics of a form ready for an interactive session with customers. The JSON (sample-form.json) it current downloads will be able to POSTed to LC360 in the future.
This client-side Single Page Application (SPA) is written in TypeScript using the Vue.js framework and Bootstrap for mobile responsiveness. While Node.js is
needed for development, npm run build
generates a slug of HTML, JavaScript and CSS that can
be run with or without a web server (provided your browser allows local JavaScript to execute).
Architecturally, the SPA has this relationship between components:
- App
- Navbar
- Designer
- SectionEditor (recursive because of need for subsections)
Initial loading of Vue, Font Awesome and recursive components is in main.ts. Application state is managed via Observable in store.ts. TypeScript types are declared in types.ts.
- Git
- Homebrew - macOS users
- Chocolatey - Windows users
- Node.js 14.5.0+
- yarn 1.22.4+
- Google Chrome 83+ - used for headless testing
-
Install Homebrew or Chocolatey depending on whether you are a macOS or Windows user. The latter requires a PowerShell run as Administrator (and to close and reopen after install).
-
Make sure prerequisites are installed for your operating system.
- macOS install:
brew install git node yarn
- Windows install:
choco install git nodejs yarn
-
Run
git clone https://github.com/nstuyvesant/fast-form.git
then connect to the /fast-form directory. -
Run
yarn install
to install dependencies.
yarn serve
yarn test:e2e
yarn test:unit
yarn build
yarn lint