Проекты*

CLASSTEST – онлайн-платформа для тестирования знаний школьников

Работа призёра конкурса проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 10−11 классов

Направление работы: Информационные технологии
Авторы работы: ГБОУ Школа № 1381
Предметы: Информатика
Классы: 10 класс
Мероприятия: Конкурс проектов и исследований «Инженеры будущего» открытой городской научно-практической конференции «Инженеры будущего» 2021 года

Актуальность

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

Цель

Разработка сайта для тестирования знаний школьников.

Задачи

  1. Проанализировать существующие интернет-ресурсы с аналогичными сервисами, выделить их недостатки.
  2. Изучить процесс написания SPA-сайта на Sapper c бэкендом Kotlin.
  3. Создать сайт.
  4. Разработать контент для наполнения сайта.
  5. Протестировать платформу на практике и проанализировать результаты.

Оснащение и оборудование, использованное при создании работы

  • Персональный компьютер с доступом в интернет
  • Google Drive, Google Docs, Debian GNU

Описание

Для сервера был выбран дистрибутив Debian GNU/Linux из семейства UNIX-подобных систем. Выбор обусловлен надёжностью, стабильностью и безопасностью дистрибутива. Операционная система имеет широкую поддержку оборудования, архитектур и долгосрочную программную поддержку. Debian разрабатывается с 1993 года и на момент написания (последняя версия 10.8) в репозиториях содержится ≈ 59000 пакетов. Debian создан из свободного ПО и ПО с открытым исходным кодом.

Весь проект (за исключением СУБД) развёрнут в Docker. Для хранения данных была использована реляционная СУБД MariaDB, ответвление MySQL, разрабатываемое сообществом под лицензией GNU GPL.

Для поиска тестов был использован поисковый движок MeiliSearch. Для фронтенда был выбран Sapper.

Взаимодействие клиента с бэкендом происходит через REST API.

Авторы создали страницу входа (Рисунок № 1) и регистрации (Рисунок № 2), добавили валидацию для всех полей ввода. После авторизации пользователь попадает в свой профиль, где есть возможность изменить данные.

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

Клиент отправляет запрос серверу Caddy, который в зависимости от URL’а перенаправляет запрос на локальной машине на определённый порт.

Архитектура БД

Результаты работы/выводы

В ходе работы над проектом были достигнуты все поставленные задачи и цели.

Были проанализированы существующие интернет-ресурсы с аналогичными сервисами, выделены их недостатки, изучен процесс написания SPA-сайта на SAPPER c бэкендом на KOTLIN. В итоге был создан сайт, тестирование которого подтвердило его работоспособность. Помимо этого, был получен опыт работы с поисковым движком MeiliSearch, редактором схем Draw.io, библиотеками svelte-materialify и Axios.

Мнение автора

«Цель проекта была достигнута, и я планирую дальше его развивать и помогать людям менять свой образ жизни шаг за шагом каждый день»