Skip to content

TheFragebogen/TheFragebogen

Repository files navigation

TheFragebogen

TheFragebogen: logo

TheFragebogen is a HTML5 framework for creating stand-alone questionnaires, i.e., running a web browser alone.
Questionnaires are implemented as single-page applications and thus can be loaded from a local file or from a web server. The collected data can be downloaded to the executing machine or uploaded to a web server.

The Features

  • Provides a large, extendable set of scales (e.g., Likert scale).
  • Requires only web browser while a web server is optional.
  • Supports playback of audio and video.
  • Support for free-hand writing or drawing (exported as PNG).
  • Supports interaction with other systems via AJAX or WebSockets.

Data is exported as CSV: either as local download or by sending it to a HTTP-server.

Most important TheFragebogen is implemented completely in JavaScript.
It can thus be easily extended and modified while no infrastructure is mandatory (e.g., web server, database, and network connectivity).

Requirements are:

ATTENTION: Some features might not be available/usable depending on the web browser features.

Getting started

Install required software:

  1. Install NodeJS to get npm: https://nodejs.org/en/download/
  2. Install grunt via npm: npm install -g grunt-cli
  3. Install git as command-line interface: https://git-scm.com/download/

Build TheFragebogen:

  1. Clone git repository: git clone https://github.com/TheFragebogen/TheFragebogen
  2. Enter repository: cd TheFragebogen
  3. Install dependencies via npm: npm install
  4. Build TheFragebogen: grunt
  5. Check out the included examples to see how to get started using TheFragebogen: see examples/.
  6. Check out the included feasibility studies that show how TheFragebogen could be extended: see examples_feasibility/. ATTENTION: Please note that the feasibility studies are not ready for use.

Build the documentation:

  1. Build documentation: grunt doc.
  2. Open documentation in your favorite web browser doc/index.html.

The Concept

TheFragebogen follows the paper metaphor, i.e., a paper-based questionnaire is actually a sequence of paper sheets, which each consists of several items. Items consist, in fact, of a question and a scale.
Sheets are represented in TheFragebogen by so-called Screens and items by so-called QuestionnaireItems. In TheFragebogen, a questionnaires consists of one or more Screens while only one Screen is shown at a time. A Screen encapsulates a specific functionality, such as presenting of items, waiting for some time, or exporting data. For presenting items or HTML content, TheFragebogen provides ScreenUIElements that can present generic HTML content (UIElementHTML) or items (QuestionnaireItems).

The lifecycle of a questionnaire is handled by the ScreenController, which organizes the presentation of all Screens and also data export.

TheFragebogen is completely implemented using OOP.

DEVELOPERS: Information for developers can be found in CODING.md.

The Data

The data is exported as CSV while each element is wrapped in quotation marks.

The data consists of five columns.

For each row:

  • Column 1 contains the index of the screen.
  • Column 2 contains the name of the class (for QuestionnaireItems or Screens).
  • Column 3 contains the question (might be empty or a generic identifier).
  • Column 4 contains the answer options (might be empty).
  • Column 5 contains the answer(s) (might contain an array). Might contain text/numbers, JSON, or a data URI (i.e., multimedia content).

The data files can be opened using any compatible program (e.g., text editor, spreadsheet editor). TheFragebogen-csv-viewer.html is a viewer application that also decodes images encoded as data URI.

License

TheFragebogen is licensed under MIT License.