dimah-survey

When to use

Decide whether your SurveyJS application needs a server-owned response lifecycle.

Use dimah-survey when SurveyJS remains your schema, Creator, and renderer, but the server must control which document a respondent sees and preserve that document with the response.

The deciding requirement is a durable response snapshot—not simply rendering a SurveyJS form in React.

It is a good fit when

  • authors need an editable draft and an explicit publish action
  • responses must remain reproducible after the survey changes
  • partial saves, submit, abandon, and reopen belong to one server protocol
  • submit must validate against the definition that started the response
  • your application must keep ownership of auth, data, and deployment

Choose another approach when you only need the SurveyJS renderer, want a hosted inbox and account system, or do not use SurveyJS JSON as the form definition.

Compare the ownership model

Concerndimah-surveySurveyJS aloneHosted product
Survey rendererYour app uses SurveyJSYour app uses SurveyJSProduct or embed
Publish workflowBuilt inYour implementationProduct workflow
Response definition snapshotBuilt inYour persistence designVendor-specific
Draft, submit, reopen, and CASBuilt inYour implementationProduct workflow
AuthenticationYour applicationYour applicationVendor account
Data and migrationsYour applicationYour applicationVendor storage
AuthoringCreator stays in your appSurvey CreatorHosted builder

This compares responsibility, not performance. The same application can use SurveyJS with dimah-survey for surveys and a different form library for unrelated UI.

Deliberate non-goals

dimah-survey does not render questions, ship Creator, define question types, store file bytes, or provide accounts, dashboards, PDF generation, or an analytics warehouse. It also has no plugin system and no survey-version table; response.definition is the historical record.

SurveyJS Analytics or PDF tooling can consume each response's definition and data. Do not interpret old response data against the current survey draft.

Next, review the concrete package boundaries or build the quickstart.

On this page