Skip to content

distributeaid/needs-assessment

Repository files navigation

Distribute Aid Needs Assessment

GitHub Actions semantic-release Renovate Mergify Status Commitizen friendly code style: prettier ESLint: TypeScript React Bootstrap 5 CSS modules Vite

A single-page application (SPA) that we use to assess needs of the aid organizations we support developed with React in TypeScript.

The UI components are themed using Bootstrap 5 and CSS modules.

Vite is used as the frontend toolchain.

Project goals

Provide a way for Distribute Aid to run needs assessment using forms that can be modified using low-code or zero-code approach. These forms need to provide validation and flow logic.

The first version of the needs assessment was run using Qualtrics, however we will no longer have access to it without paying, and the license fees are too expensive for Distribute Aid.

The forms that were built using Qualtrics have been documented here.

Solution

  • Implement a form generator, that allows to describe a form using JSON
    • custom form logic is implemented using JSONata expressions.
  • Forms runs fully in browser, using local storage.
  • Response are stored using the needs assessment storage project.

Set up

npm ci

Configure

These environment variables must be configured:

  • PUBLIC_STORAGE_URL: URL to the storage backend
  • PUBLIC_DEFAULT_FORM_URL: the form ID of the form to use

Running

npm start