Крутая задачка как по мне :)
Но в общем можно реализовать примерно так:
1. WordPress - авторизация, создание страниц, навигация и прочие плагины
2. Курсы - страница с интерактивными курсами просто список, в зависимости от роли появляются различные диаграммы.
2.1 - плагин который делает запросы непосредственно к базе курсов, написать на связке vue + php (админ)
2.2 - плагин который будет выводить прогресс курсов для обычных пользователей
3. Страница курса - шапка, ссылки на обучающие модули, окончательное тестирование
4. модуль окончательного тестирования
4.1 - серверная часть, которая выбирает случайные вопросы из курса, для того что бы каждому был выдан индивидуальный набор вопросов
4.2 - клиентская часть. Проверка правильности.
4.3 - Типы проверяемых данных.
* строка - точное соответствие/ нечеткое соответствие (Нижний регистр)
* число - результат вычисления
* дата - дата
* картинка - выбор картинки соответствующей вопросу
* чекбоксы - выбор из набора вариантов
* радиокнопки - выбор единственного из вариантов
* Кастомный ответ - Поле ввода, которое проверяется непосредственно преподавателем.
4.4 - В зависимости от результатов вывод прошел не прошел и вывод страницы с результатами. Занесение результатов в базу