@Helo8989

Как реализовать страницу для тестирования учеников?

Есть web приложение для школы бек написан на java, spring, фронт на vue js, ccs, html. Сайт на подобие визитки. Нужно прикрутить к нему сервис для тестирования учеников, с возможностью заходить в личный кабинет для ученика и учителя отдельно. Подскажите как это лучше реализовать. Особенно как лучше сделать саму логику обработки ответов и последующую их проверку?
  • Вопрос задан
  • 145 просмотров
Пригласить эксперта
Ответы на вопрос 4
@cicatrix
было бы большой ошибкой думать
Уж больно богатая тема для фантазий.
А что именно вызывает затруднения? Вроде бы проектирование вполне прямолинейное -
таблица вопросов, таблица ответов, таблица вариантов теста. Назначение варианта студенту, из ЛК запрос на тест с вопросами, обратный запрос пересылает ответы. На стороне сервера сверяется правильно/неправильно.
Ответ написан
azerphoenix
@azerphoenix Куратор тега Java
Java Software Engineer
Здравствуйте!
Во-первых, непонятно в каком объеме у вас на данный момент реализовано текущее приложение на Spring.

Сайт на подобие визитки.

И вообще странно, что если это просто сайт-визитка, то зачем она писалась на Spring + VueJS. Там банально CMS WordPress хватит с лихвой. Ну в крайнем случае можно было взять рнр фреймворк (Yii2, Laravel) - обошлось бы дешевле для школы)

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


1) Эндпоинты для ЛК учителя и ученика должны быть разными.
2) Эндпоинты аутентификации учителя и ученика тоже можно сделать разными.
3) Тестирование бывает разным. Нужно для начала разобраться с тем, какое тестирование вам нужно и как его можно реализовать.

Например, есть тестирование при котором проверяется правильность выбранного ответа. Т.е. пользователь выбрал ответ "а" и соответственно, проверяем корректный ответ, хранимый в БД. Этот тест можно усложнить тем, что каждый раз при прохождении теста изменять местами варианты ответов, чтобы ученики не запоминали ответы по буквам.

Другой вид тестирования, когда каждому ответу присваивается определенный балл. Далее высчитывается набранная сумма и выдается ему некий результат (часто встречается в психологических тестах).
Иной вид тестирования, когда проверяется количество выбранных ответов варианта "А", "В" и т.д. Т.е. пользователь выбрал "А" - 5 раз, "В" - 2 раза. И если например, А < 5 и B >2, то отдаем один результат, иначе другой и т.д.

4)
Особенно как лучше сделать саму логику обработки ответов и последующую их проверку?

Например, по мере прохождения теста формируем массив ответов и записываем их в LS, чтобы в случае чего не потерять данные. Затем по сабмиту "отправить на проверку" отправляем массив на сервер и перебирая ответы сравниваем их со значениями в БД. Если предусматривается возможность изменение варианта ответа для того или иного вопроса, то при изменении ответа, вносим правки в массив и сохраняем LS.

Как реализовать страницу для тестирования учеников?

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

Либо попробуйте поискать готовые решения, которые потом можете встроить в сайт. Правда, не самое лучшее решение.
Например, https://www.classmarker.com/online-testing/how-to-...
https://quiz.proprofs.com/how-do-i-embed-a-quiz-on...
https://www.riddle.com/blog/embed-online-quizzes-site/
Google

В общем, все зависит от ваших навыков программирования, от бюджета, от сроков и т.д.
Самое быстрое решение возможно, использование CMS с готовыми плагинами.
Например, WordPress + плагины
https://ru.wordpress.org/plugins/quiz-master-next/
https://ru.wordpress.org/plugins/wp-quiz/
https://www.wpbeginner.com/showcase/best-quiz-plug...
https://ru.wordpress.org/plugins/hd-quiz/
https://ru.wordpress.org/plugins/quiz-maker/
Google

Для более объективного ответа нужно больше данных.
Ответ написан
SOM4
@SOM4
Увлечён компьютерами более 30 лет
Думаю, что слово "прикрутить" относится к чему-то существующему. :) Я таких "сервисов" пока не знаю.

Пару недель назад познакомился с ГуглФормами в связке с ГуглТаблицами. Меня интересовала возможность создания простых анкет (типа "ЛендигПейдж"). Если Вы освоите программирование на встроенном языке AppsScript (начать рекомендую с этой статьи ), то думаю, тогда сможете самостоятельно "прикрутить" свои "опросники".
Ответ написан
Комментировать
@acwartz
Тут должна быть ваша реклама.
Ну просто, в шапку кнопку входа для ученика/для учителя. Хотя учителей вообще через задний вход впускать, чтоб ученики вообще до этой формы входа не кокапались.
Дальше авторизация, тем же jwt токеном.

Особенно как лучше сделать саму логику обработки ответов и последующую их проверку?

Отложенную :) Ученики наотвечали и учитель потом проверяет. Никаких сразу "это верно/ это не верно" а то перебором переберут и выгребут правильные ответы. Мы группой в 30 тел, так и сделали. Каждому 3 попытки давалось, с третей все внезапно отличники стали.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы