Anketa — краткая документация
Эта страница описывает основные возможности платформы для организаторов опросов и респондентов простым и понятным языком.
Типы вопросов
Общие поля: id, type, title (текст вопроса), description (пояснение), required (обязательность), timer (задержка кнопки «Далее»), правила переходов и видимости.
Одиночный выбор (single)
Список вариантов с выбором одного ответа. Поддерживаются закреплённые/взаимоисключающие опции, перемешивание.
Множественный выбор (multiple_choice)
Выбор нескольких вариантов. Можно ограничить минимальное и максимальное количество.
Текст (text)
Текстовый ответ с минимальной длиной, проверкой по шаблону и подсказкой.
Матрица (matrix)
Оценка по строкам/столбцам. Режим один/несколько ответов в строке, опционально построчная последовательность.
Шкала (scale)
Числовая шкала с шагом, значениями по умолчанию и подписями делений.
Ранжирование (ranking)
Упорядочивание вариантов, выбор top‑k, ограничения на диапазоны.
Распределение (allocation)
Распределение процентов или количеств по вариантам с контролем ограничений.
Тепловая карта (heatmap)
Отметки на изображении (минимум/максимум точек, таймер).
Информационный блок (info_block)
Заголовок, описание (Markdown), изображение/видео, режим «смотреть до конца», таймер, «центр/слева» и фон.
Прохождение анкеты (test vs боевой режим)
В тестовом режиме (?test=1) анкета работает как предпросмотр: ответы не сохраняются в базе. В боевом режиме (без test=1) создаётся сессия и каждый ответ сохраняется на сервере.
- Открытие/резюм: POST /session/open (по cookie device_id).
- Сохранение ответа: POST /session/answer (после каждого “Далее”).
- Завершение: POST /sessions/<id>/end.
Подробно: /docs/runtime.md
Экспорт данных
Результаты можно выгружать в CSV, XLSX и SPSS. Поддерживается выбор статусов интервью и анонимизация IP/геоданных.
- Одиночный выбор - одно поле; множественный - бинарные столбцы по вариантам.
- Текст - строка; шкала - число; матрица - разбиение по строкам/столбцам.
- Ранжирование и распределение - понятные схемы кодирования, пригодные для анализа.
Подробно: /docs/export.md
Подстановки (piping)
В тексты, заголовки или описания можно подставлять ответы на предыдущие вопросы.
- @@QID — простой ответ.
- @@QID|N — N‑й выбранный вариант; для матрицы — N‑я отмеченная ячейка.
- @@QID|#VAL — текст опции со значением VAL.
- @@QID|#ROW#COL — значение конкретной ячейки в матрице.
Подстановки обновляются после каждого ответа; они удобны и безопасны для персональных данных.
Медиа (загрузка и библиотека)
Для вопросов info_block и heatmap можно использовать изображения (PNG/JPEG) и видео (минимум MP4, в целом video/*). В анкете рекомендуется хранить относительные пути вида /image/... и /video/....
- Загрузка: POST /__upload (только admin/superadmin).
- Библиотека: GET /media (доступна всем пользователям организации).
- Удаление: DELETE /media (только admin/superadmin).
Подробно: /docs/media_library.md
Logic (routing_rules / visibility_rules)
Раздел “Логика” управляет переходами (routing_rules, поле goto) и видимостью (visibility_rules, поля initial/action) на основе условия if (JSON-выражение).
- AND, OR, NOT
- ==, !=, <, <=, >, >=
- IN, NOT_IN
- HAS_ANY, HAS_ALL, HAS_NONE (multiple choice / lists)
Полная шпаргалка и 10+ примеров: /docs/logic.md
{
"id": "rr1",
"priority": 1,
"if": { "==": ["$q1", "A"] },
"goto": "q5"
}
{
"id": "vr1",
"priority": 1,
"initial": "VISIBLE",
"action": "HIDE",
"if": { "==": ["$q1", "no"] }
}
Быстрый старт (dev)
Для локальной разработки: backend запускается на 8000, frontend — на 3000. По умолчанию фронтенд ходит в API по пути /api (dev-прокси и прод-прокси настроены одинаково).
Подробно: /docs/quickstart.md
Настройки анкеты
- allow_back - разрешить возврат к предыдущим вопросам.
- allow_repeat — разрешить повторное прохождение.
- allow_resuming — продолжить опрос с того же места на том же устройстве.
- Квоты и таймеры также поддерживаются.
Вопросы и ответы
На каких устройствах можно проходить опрос?
На компьютере, планшете и смартфоне в современном браузере.
Что делать, если сессия прервалась?
Если организатор включил возобновление, просто откройте ссылку снова — опрос продолжится с последнего места.
Можно ли вернуться к предыдущему вопросу?
Зависит от настроек анкеты (allow_back).
Доступна ли повторная попытка?
Определяет организатор (allow_repeat).
Как скачать результаты?
В административном разделе доступен экспорт CSV/XLSX/SPSS.