Разработка конструктора форм
Конструктор форм — инструмент для создания произвольных форм сбора данных без программирования. Применения: опросы, заявки, регистрация, онбординг, квизы. Ориентиры: Typeform, Google Forms, JotForm.
Типы полей
Базовый набор:
- Short text — однострочный ввод
- Long text (Textarea) — многострочный
- Number — числовой ввод с валидацией
- Email / Phone / URL — с форматной валидацией
- Date / DateTime — date picker
- Single choice (Radio) — один из вариантов
- Multiple choice (Checkbox) — несколько вариантов
- Dropdown (Select)
- Rating — звёзды или шкала NPS (0–10)
- File Upload — загрузка файла
- Signature — подпись через canvas
- Payment — встроенная оплата (Stripe)
Условная логика (Skip Logic)
Условная логика — показывать/скрывать поля или страницы в зависимости от ответов:
IF вопрос_3 = "Да" THEN показать вопросы 4,5,6
IF вопрос_3 = "Нет" THEN перейти к вопросу 7
Модель правил:
{
"field_id": "q3",
"conditions": [
{
"field": "q3", "operator": "equals", "value": "yes",
"actions": [{ "type": "show", "fields": ["q4", "q5", "q6"] }]
}
]
}
Многостраничные формы
Форма разбивается на шаги (pages). Прогресс-бар показывает шаг N из M. Навигация: «Назад» / «Далее» / «Отправить» на последнем шаге.
Сохранение прогресса: если пользователь уходит, частично заполненная форма сохраняется в sessionStorage или на сервере по токену. При возврате — данные восстанавливаются.
Хранение ответов
CREATE TABLE form_submissions (
id UUID PRIMARY KEY,
form_id, respondent_id (nullable),
submitted_at, ip_address, user_agent,
utm_source, utm_medium, utm_campaign -- UTM-параметры
);
CREATE TABLE submission_answers (
submission_id, field_id,
value_text, value_number, value_json JSONB,
value_files TEXT[] -- ссылки на файлы в S3
);
Аналитика ответов
Для каждой формы:
- Summary view: агрегированные данные по каждому вопросу (pie chart для single choice, bar chart для rating)
- Individual responses: каждый заполненный экземпляр
- Drop-off analysis: на каком шаге пользователи уходят (completion funnel)
- Экспорт: CSV / XLSX всех ответов
Уведомления
- Notification email: при каждом новом ответе — письмо владельцу формы (настраиваемый шаблон)
- Confirmation email: подтверждение для респондента (с копией ответов)
- Webhook: POST с данными ответа на указанный URL
Embed и публикация
Три способа распространения формы:
-
Прямая ссылка:
forms.platform.com/f/abc123 - iFrame embed: код для вставки на любой сайт
- Popup/Slide-in: JS-сниппет, открывающий форму как overlay
Сроки
MVP (10 типов полей, условная логика, email-уведомления, экспорт CSV): 6–8 недель. Полноценный конструктор с оплатой, брендингом, многостраничными формами, аналитикой и интеграциями: 3–4 месяца.







