With surv.app you can create advanced multi-page surveys in Markdown and style them with custom HTML/CSS. When Google Forms feels too simplistic or rigid, surv.app will do just right.
A survey in surv.app is just a Markdown document which can also contain valid HTML blocks. We provide some syntax extensions for asking questions, skip logic, and displaying previous answers.
Demo survey: https://surv.app/demo
# Ageistic Survey
How old are you?
? age_group
- 0-18
- 19-35
- 36-55
- 56 or older
@ age_group != "0-18"
Hello, oldie!
surv.app is a node.js application backed by SQLite3, Postgres or MySQL.
Git clone:
git clone https://github.com/Fedia/survapp survapp
cd survapp
Configure with environment variables or .env
file:
# App name displayed for admins in UI
APP_NAME=surv.app
# Encryption secret used in authentication
AUTH_SECRET=s3cr3t
# Path to SQLite file or a DB connection string like mysql://<username>:<password>@<host>:<port>/<db_name>
DB_CONN=survapp.db
# SMTP connection string for OTP emails
MAIL_CONN=smtp://username:[email protected]
# The survey to show at WWW root
INDEX_PATH=/index
# Limit admin access to specific emails and/or domains
# Anyone with an email can create surveys by default!
[email protected] [email protected]
USER_DOMAINS=example.com example.net
Dokku or Heroku is a recommended (tested) way of deployment:
dokku apps:create survapp
git remote add dokku [email protected]:survapp
git push dokku master
Or install and run with NPM:
npm install
npm run build
npm start
Some docs are avaliable here: https://surv.app/docs