Skip to content

surveyjs/survey-library

Repository files navigation

Library

Build Status Software 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 also includes a robust form builder library 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


form-library.mp4

Features

Get Started

Resources

SurveyJS Product Family

  • Form Library - A free and open-source MIT-licensed JavaScript library that renders dynamic JSON-based forms in your web application, and collects responses.
  • Survey Creator - A self-hosted drag-and-drop form builder that automatically generates JSON definition (schemas) of your forms in real time. Try out a free full-featured demo to evaluate its capabilities.
  • Dashboard - Simplifies survey data visualization and analysis with interactive and customizable charts and tables.
  • PDF Generator - An open-source JavaScript library that renders SurveyJS surveys and forms as PDF files in a browser. With PDF Generator you can save an unlimited number of custom-built forms to PDF (both editable and read-only).

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.