Разработка LMS

Система тестирования образовательной платформы МЭШ

О проекте

Уже более 6 лет CosySoft помогает создавать уникальную образовательную платформу для миллионов московских школьников.

За это время мы реализовали модуль создания и прохождения тестов, адаптировали его для проведения олимпиад, справились с рекордной нагрузкой во время локдауна и расширили систему десятками новых возможностей.
JavaScript | TypeScript
React
Java
Kotlin
Spring Boot
ДИТ Москвы

Технологии

Заказчик
Docker
Kubernetes
Helm
В 2017 году Департамент Информационных Технологий запустил образовательный проект «Московская электронная школа» (МЭШ). Это проект для учителей, учащихся и родителей, направленный на создание высокотехнологичной образовательной среды в школах города Москвы. В состав МЭШ входит несколько сервисов: Электронный журнал, Электронный дневник, Библиотека «МЭШ», «Москвенок» и Портфолио учащегося.

Задача

CosySoft предстояло разработать важнейшую часть платформы — систему онлайн-тестирования. Этот модуль связан со всеми ключевыми сервисами платформы и помогает сделать процесс обучение эффективнее для всех его участников. Учителям позволяет составлять глубокие и комплексные тесты, а ученикам — выполнять задания в удобном интерфейсе.

Конструктор тестов и плеер для их прохождения

Разработка такой системы объединяет в себе инструменты создания, прохождения, оценки и выгрузки результатов в электронный дневник. В течение 6 лет модуль тестирования прошел несколько обновлений дизайна и модернизаций, получил глобальные обновления и десятки новых функций.
Для удобного создания тестов мы создали специальный конструктор, который поддерживает 15 типов заданий и имеет множество тонких настроек под разные виды тестов.

Широкий выбор типов заданий позволяет создавать комплексные тесты, которые лучше показывают уровень знаний учеников и делают процесс более интерактивным.

Учитель может выбрать несколько типов заданий и комбинировать их в одном тесте.

Медиаконтент

К каждому варианту ответа можно добавить видео- или аудиоматериалы, загрузив их с компьютера или из библиотеки МЭШ. Это расширяет возможности авторов тестов и позволяет создавать цельные тесты без необходимости переходить по ссылкам.
Платформу тестирования с помощью API можно интегрировать в другие сервисы и адаптировать под выполнение новых задач. Например, уже сейчас ее используют для создания тестов к ОГЭ/ЕГЭ и встраивают в сценарии уроков. В дальнейшем планируется интеграция в сервис электронных учебников.

Форматирование текста и добавление формул

Каждое из текстовых полей в создании теста поддерживает возможность настройки. Можно изменить цвет текста, форматирование и выравнивание, а также добавить формулу — в ручную или с помощью форматов LaTeX/TeX.

Подсказки

В тест можно добавить подсказки для проходящего тест, которые помогут правильно решить задачу. Также в тесте можно оставлять подсказки для проверяющего тест. Это полезно, например, если один учитель делегирует проверку своему коллеге, или просто оставляет памятку для себя, чтобы ничего не забыть.

Автогенерация тестов

Эта функциональность позволяет автоматически создавать тесты из базы уже готовых заданий по заданным параметрам. Достаточно выбрать предмет, тему и система создаст готовый тест. С помощью одной кнопки можно перегенерировать как весь блок, так и отдельное задание.

Библиотека МЭШ — уникальный ресурс, в котором собраны цифровые образовательные материалы всего сообщества учителей Москвы, ведущих ИТ-компаний и издательств. Весь создаваемый контент проходит процедуру профессиональной модерации на соответствие содержательным и техническим требованиям, что гарантирует его качество и безопасность.

Справочные страницы

Если нужно создать тест, где несколько вопросов касаются одной темы, то такие вопросы можно сгруппировать, а сверху добавить связанный с ними справочный блок. Это позволяет не дублировать информацию в каждом вопросе.

Оценка заданий

Для каждого теста можно настроить правила, по которым будут оцениваться задания.


Например, установить количество баллов за правильный и неправильный ответы, или выбрать алгоритм оценки каждого вопроса.

Гибкая настройка тестирования

Панель управления позволяет настроить параметры для каждого теста. Можно использовать стандартные шаблоны или настроить свои параметры. Например, включить или отключить отображение результатов после прохождения, добавить возможноcть менять ответ, показывать правильный или неправильный ответ. Также можно задать количество попыток, время на прохождение или включить возможность пропуска вопросов. С помощью группировки можно логически разделять вопросы на блоки.

Веер решений

Этот инструмент позволяет увидеть статистику по решениям задания. Эта функциональность полезна при проведении олимпиад, где правильный ответ часто допускает диапазон, а не точное значение, например количество цифр после запятой. Это помогает объективно оценивать результат и избегать спорных ситуаций.

Автоматическая проверка тестов

Контролировать знания можно с помощью тестирующей системы: она предлагает много вариантов заданий и автоматически проверяет работу ученика. После завершения теста, система автоматически рассчитывает результат, исходя из ценности всех правильно выполненных заданий.

История и журнал результатов

Преподаватели, учащиеся школ или их законные представители могут отслеживать итоги прохождения тестов учебной программы. Это позволяет сократить время на подготовку уроков, поиск информации и ее проверку. Вкупе с такими инструментами, как электронный журнал и дневник, это значительно упрощает наблюдение за динамикой успеваемости каждого ученика.

Продуманный и адаптивный дизайн

Интерфейс конструктора тестов сделан таким образом, чтобы учитель уже при создании теста видел его глазами ученика. Это помогает минимизировать ошибки и помогает учителю лучше сконструировать задание. Интерфейс плеера для прохождения тестов адаптивный и одинаково хорошо работает на десктопах и мобильных устройствах. Это позволяет ученикам проходить тесты с планшетов и мобильных устройств.

Интерактивная система помощи

В конструктор и плеер тестирования встроены подсказки, объясняющие действия и кнопки в интерфейсе. Благодаря этому учитель или ученик смогут быстрее разобраться в работе сервиса.

Автосохранение

Система сохраняет тест автоматически каждые 30 секунд. Это позволяет не потерять данные при создании задания и продолжать редактирование с другого устройства. Например, если учитель ушел из школы и запустил создание теста дома, то система восстановит данные из черновика и предложит продолжить с того же места.

Итоги

Повышение качества онлайн-уроков, упрощение наблюдения за динамикой успеваемости, доступ к обширной библиотеке готовых тестов и возможность быстрого создания качественного и безопасного контента . Это только часть возможностей, которые дает такой мультифункциональный инструмент как МЭШ.
В библиотеке «МЭШ» уже более двух миллионов образовательных материалов, и их количество постоянно растет. Добавляются сценарии уроков, учебные пособия, тесты, самодиагностики, виртуальные лаборатории.

Что под капотом

  • Frontend
    JavaScript, TypeScript, React, Redux, WebPack
  • Backend
    Java, Kotlin, Spring, Spring Boot, Hibernate, PostgreSQL
  • DevOps
    Docker, Kubernetes, VS Code, IntelliJ IDEA, WebStorm, Nginx, GIT
  • API
    Rest API, UseSWR
  • QA
    Jest, Manual QA

Таймлайн проекта

2017

2017

Начали с разработки MVP. Реализуем базовый функционал сервиса: создание, прохождение и автоматическая проверка тестов.

2018−2019

2018−2019

Расширяем возможности сервиса и добавляем новый функционал. Работаем над базой заданий, расширяем типы, добавляем конструктор, импортируем задания из внешних источников. Появляется статистика прохождения заданий и многое другое.

2020

2020

Справляемся с возросшей нагрузкой из-за локдауна и делаем глобальный рефакторинг legacy-кода. Оптимизируем запросы в БД, облегчаем взаимодействие с бэкэндом и перерабатываем сценарии API.

2021

2021

Продолжаем развивать сервис: запускаем автогенерацию тестов, модернизируем UI/UX, расширяем логику системы оценок.

2022

2022

Создаем инструмент для проведения городских олимпиад, расширяем функциональные возможности конструктора и плеера, перестраиваем архитектуру и возможности внешних интеграций.

2023–...

2023–...

Продолжаем разработку платформы и готовы к новым вызовам. Планируем дальнейшее расширение конструктора тестов новыми типами заданий и проведение интеграций с новыми образовательными сервисами клиента.

Команда проекта

1 менеджер
проекта
4 FrontEnd-разработчикa
4 BackEnd-разработчикa
1 QA-
инженер
1 DevOps-
инженер