Как создать приложение для викторин
Приложение для викторин показывает вопросы, собирает ответы, подсчитывает баллы и показывает результат. Простая версия — одна фиксированная викторина с подсчётом в браузере — создаётся за полдня. Версия, на которую люди полагаются при обучении, найме или соревнованиях, требует банка вопросов, ответов, хранящихся на сервере, сохранённых попыток и честного учёта времени. Решите заранее, что именно вы строите, потому что это меняет архитектуру.
Определите, какая это викторина
Слово «викторина» охватывает очень разные продукты:
| Вид | Пример | Что важнее всего |
|---|---|---|
| Развлечение / маркетинг | «Какой тариф вам подходит?» или тест на тип личности | Внешний вид, отправка друзьям, сбор контактов; подсчёт простой |
| Обучение / практика | Повторительные викторины для класса или курса | Объяснения, повторные попытки, прогресс со временем |
| Оценивание | Проверка знаний сотрудников, вступительные тесты | Скрытые ответы, одна попытка, время, записи результатов |
| Живая игра / соревнование | Викторина в пабе, классная игра | Табло в реальном времени, все отвечают на один вопрос |
Тест на личность без последствий безопасно может работать целиком в браузере. Оценивание — нет. Живым викторинам нужны обновления в реальном времени, а это отдельный уровень сложности: оставьте их за пределами первой версии, если только это не главная цель.
Что нужно приложению для викторин
Данные
- Викторины — название, описание, настройки (ограничение по времени, допустимое число попыток, перемешивание, проходной балл, показывать ли ответы после?).
- Вопросы — викторина, текст, тип, баллы, необязательное изображение и объяснение, которое показывается после ответа.
- Варианты — варианты ответа на вопрос с отметкой, какие из них правильные.
- Попытки — кто прошёл какую викторину, когда начал и отправил, и итоговый балл.
- Ответы — какой вариант (или текст) человек дал на каждый вопрос в попытке.
Разделение попыток и ответов позволяет показать людям, что именно они сделали неверно, и выявить вопросы, которые почти все не могут решить, — часто это признак неудачной формулировки.
Страницы
- Редактор викторины для автора: добавление вопросов, их порядок, отметка правильного варианта, предпросмотр.
- Стартовая страница викторины с правилами: число вопросов, ограничение времени, попытки.
- Экран вопроса: на телефонах по одному вопросу за раз, с индикатором прогресса («4 из 10»).
- Страница результатов с баллом, сдано или нет и, если настройки позволяют, с разбором по каждому вопросу.
- Панель автора с попытками, средним баллом и самыми трудными вопросами.
Права доступа
Авторы создают и редактируют викторины, участники только проходят их. Если викторины нужны классу или команде, добавьте группы, чтобы люди видели только назначенные им викторины. См. как добавить вход в приложение.
Правила подсчёта баллов, которые нужно записать
Большинство ошибок в викторинах — это ошибки подсчёта. Включите эти правила в запрос:
- Один вариант: полный балл за правильный ответ, ноль в остальных случаях.
- Несколько вариантов («выберите все подходящие»): решите, будет ли это «всё или ничего» или частичный балл. Если частичный, вычитаются ли баллы за неверные варианты? Запишите пример: «Правильные варианты A и C. Выбран только A — 1 балл из 2. Выбраны A, B и C — 1 балл из 2.»
- Вопросы без ответа получают ноль и показываются как пропущенные, а не как неверные.
- Ограничения по времени проверяются на сервере по времени начала. Таймер в браузере — только отображение: любой может его остановить или изменить.
- Перемешивание меняет порядок показа, но никогда не меняет, какой вариант правильный. Храните правильный вариант по его ID, а не по позиции.
Держите ответы вне браузера
Это единственный технический момент, который должно правильно реализовать любое серьёзное приложение для викторин. Если страница получает вопросы вместе с правильными ответами и сама их оценивает, любой может открыть инструменты разработчика в браузере и прочитать ключ ответов.
Решение просто описать: сервер отправляет вопросы без отметок правильности, человек отправляет свои ответы, а сервер подсчитывает попытку и возвращает результат. Скажите об этом прямо в запросе. Для развлекательной викторины это не важно; для всего, что связано с сертификатом, оценкой или призом, важно.
Первый запрос, который работает
Создай веб-приложение для викторин. Авторы входят в систему и создают викторины с названием, описанием, необязательным ограничением по времени, числом допустимых попыток и проходным баллом. В каждой викторине есть вопросы типа «один вариант», «несколько вариантов» или «верно/неверно», с баллами и необязательным объяснением. Участники открывают викторину по ссылке, видят правила, затем отвечают по одному вопросу на экран с индикатором прогресса. Правильные ответы никогда не должны отправляться в браузер до отправки — подсчитывай попытки на сервере и контролируй ограничение времени по времени начала на сервере. Вариант «несколько вариантов» засчитывается по принципу «всё или ничего». После отправки покажи балл, сдано или нет и, если автор разрешает, каждый вопрос с правильным ответом и объяснением. Сохраняй каждую попытку и ответ в базе данных. Дай авторам страницу результатов со средним баллом и самыми часто пропускаемыми вопросами.
Шаги сборки
- Сначала редактор. Создайте одну викторину с десятью вопросами разных типов. Если писать вопросы неудобно, авторы не будут пользоваться приложением.
- Прохождение викторины. Попробуйте на телефоне. Проверьте прогресс, переходы назад и вперёд и что происходит при обновлении страницы.
- Подсчёт баллов на сервере. Откройте вкладку сети в браузере во время прохождения и убедитесь, что ни один ответ сервера до отправки не содержит правильных ответов.
- Тесты подсчёта. Дайте ИИ пять разобранных примеров с ожидаемыми баллами, включая частично правильный ответ с несколькими вариантами и вопрос без ответа.
- Таймер. Запустите викторину с ограничением времени, подождите дольше лимита и затем отправьте. Попытка должна быть отклонена или засчитана на момент дедлайна — решите, что именно.
- Результаты и аналитика. Сверьте список самых пропускаемых вопросов с попытками, которые вы сделали специально.
- Дополнения. Только теперь добавляйте изображения, банки вопросов со случайным выбором, сертификаты или таблицу лидеров.
Частые ошибки
- Ключ ответов на странице. Самый частый и самый серьёзный недостаток.
- Доверие часам браузера. Ограничения проверяйте на сервере.
- Хранение правильного ответа как «вариант 2». Перемешивание тогда отметит неверный ответ как правильный.
- Редактирование викторины после того, как люди её прошли. Изменение вопроса меняет смысл старых баллов. Блокируйте викторины, у которых есть попытки, или ведите версии.
- Неограниченные повторы в оценивании. Определите правило попыток и проверяйте его на сервере.
- Таблицы лидеров с полными именами по умолчанию. Дайте людям выбирать отображаемое имя, особенно студентам.
Когда лучше готовый продукт
Если вам нужна быстрая классная игра, викторина внутри курсовой платформы, которую вы уже используете, или разовая викторина для привлечения лидов, существующие инструменты для викторин и форм быстрее и часто бесплатны. Системы управления обучением уже включают викторины с журналом оценок. Для формата форм см. альтернативы Typeform и альтернативы Google Forms.
Собственное приложение имеет смысл, когда викторина — часть чего-то большего: курса, который вы продаёте, процесса найма или программы обучения с собственными правилами, или когда нужны подсчёт, брендинг или владение данными, которых не дают инструменты. Для тренировки подойдёт приложение с карточками в паре, а викторину можно встроить в платформу онлайн-курсов.
Как это сделать с Mythex
В Mythex вы описываете приложение для викторин в чате и проверяете его в живом предпросмотре, в том числе в виде для телефона. Агент добавляет базу данных, когда вы просите сохранять попытки, и пишет серверный подсчёт баллов вместе с интерфейсом. Для входа авторов Mythex подключает способ аутентификации, который вы выбираете, а не встроенный продукт для входа. Если изменение ломает подсчёт баллов, откатитесь к более раннему чекпоинту и попробуйте снова. Публикуйте по ссылке mythex.ai или на собственном домене на тарифе Pro.
Вопросы
Как не дать людям видеть ответы викторины в браузере?
Храните правильные ответы на сервере. Отправляйте вопросы без ответов, пусть человек отправит свои ответы, а баллы подсчитывайте на сервере. Всё, что отправлено в браузер, можно прочитать в инструментах разработчика.
Нужна ли приложению для викторин база данных?
Одна фиксированная викторина без сохранения результатов может работать целиком в браузере. Как только вам нужны сохранённые результаты, таблицы лидеров, несколько викторин или скрытые ответы, понадобятся база данных и небольшой сервер.
Можно ли создать приложение для викторин без программирования?
Да. ИИ-конструктор приложений может создать редактор вопросов, экран викторины и подсчёт баллов по описанию. Перед тем как делиться приложением, проверьте правила подсчёта сами на нескольких разобранных примерах.
Какие типы вопросов должно поддерживать приложение для викторин?
Один вариант ответа, несколько вариантов и «верно/неверно» покрывают большинство викторин и легко оцениваются автоматически. Краткие текстовые ответы требуют правил сопоставления или ручной проверки, поэтому их лучше добавить позже.