surveyjs / survey-library

Free JavaScript form builder library with integration for React, Angular, Vue, jQuery, and Knockout.
https://surveyjs.io/form-library
MIT License
4.22k stars 815 forks source link
angular dynamic-form-builder form form-builder forms javascript jquery json knockoutjs questionnaire quiz react reactjs survey surveyjs surveys typescript vue vue3 web-forms
![Library](https://github.com/surveyjs/survey-library/assets/102306951/d200bacb-b162-496c-a157-981e0623bae0)
[![Build Status](https://dev.azure.com/SurveyJS/SurveyJS%20Integration%20Tests/_apis/build/status/SurveyJS%20Library?branchName=master)](https://dev.azure.com/SurveyJS/SurveyJS%20Integration%20Tests/_build/latest?definitionId=7&branchName=master) [![Software License](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=flat)](LICENSE) Tested with TestCafe Issues Closed issues GitHub Release # SurveyJS Form Library
SurveyJS Form Library is a free to use MIT-licensed client-side component that allows you to render dynamic JSON-based forms in any JavaScript application, collect responses, and send all form submission data to a database of your choice. You can use it for multi-page forms of any length and complexity, pop-up surveys, quizzes, scored surveys, calculator forms, and more. SurveyJS Form Library has **native support for React, Angular, Vue, and Knockout;** jQuery is supported via a wrapper over the Knockout version. The library interacts with the server using JSON objects—for both form metadata, also known as form JSON schemas, and results. The [SurveyJS product family](https://surveyjs.io/) also includes a robust [form builder library](https://surveyjs.io/survey-creator/documentation/overview) that automatically generates form configuration files in JSON format. The form builder features a drag-and-drop UI, CSS Theme Editor, and GUI for conditional logic and form branching.


Documentation · Roadmap · View Demos · Generate JSON form · Report Bug · Twitter


https://github.com/surveyjs/survey-library/assets/102306951/844563b2-c7c3-400c-962f-bcdbe7274d55

Features

Get Started

Resources

SurveyJS Product Family

Build the SurveyJS Form Library from Sources

The instructions below apply to SurveyJS Form Library for React, Knockout, jQuery, and Vue 2. If you are looking for instructions on how to build the library for Angular or Vue 3, refer to README files within the survey-angular-ui or survey-vue3-ui packages.

  1. Clone the repo

    git clone https://github.com/surveyjs/survey-library.git
    cd survey-library
  2. Install dependencies
    Make sure that you have Node.js v14 or later and a compatible npm version installed.

    npm install -g karma-cli
    npm install
  3. Build the platform-independent part and plugins

    npm run build_core
    npm run build-plugins
  4. Build the library

    npm run build

    You can find the built scripts and style sheets in folders under the build directory.

  5. Run test examples

    npm run serve

    This command runs a local HTTP server at http://localhost:7777/.

  6. Run unit tests

    npm run test

    The unit tests use Karma.

Licensing

SurveyJS Form Library is distributed under the MIT license.