Связано с Testlify

Плагин Testlify LTI 1.3 Advantage

Сертифицированная 1EdTech интеграция LTI Advantage (1.3), которая позволяет преподавателям назначать оценки Testlify на курс и отслеживать баллы прямо внутри своей LMS — собственный обмен OIDC/JWT, синхронизация списка и передача оценок, построено на Next.js 14.

Системы управления обучением, такие как Canvas, Moodle и Blackboard, — это то, где школы и корпоративные команды обучения ведут повседневную работу. Чтобы сделать оценки Testlify пригодными к использованию внутри этих систем, нам был нужен безопасный, соответствующий стандартам мост. Я построил плагин Testlify LTI как единственный full-stack-инженер — он позволяет преподавателям назначать созданные в Testlify оценки кандидатам, записанным на курс, и отслеживать их баллы, всё прямо внутри LMS.

Демо плагина Testlify LTI 1.3

Интеграция официально сертифицирована 1EdTech для LTI Advantage (v1.3) — Names and Role Provisioning Services 2.0 и Assignment & Grade Services 2.0. Тесты на соответствие проводит 1EdTech, так что это не заявленные самостоятельно утверждения: независимый орган проверил, что реализация следует спецификации.

Что я сделал

  • Собственная реализация LTI 1.3: вместо того чтобы опираться на тяжёлую стороннюю LTI-библиотеку, я реализовал спецификацию напрямую в Next.js 14 — обмен OpenID Connect, проверку подписи JWT и эндпоинты открытых ключей JWKS, которые устанавливают доверие между LMS и Testlify.
  • Поток «назначить и отслеживать»: построил слой API за всем рабочим процессом — Deep Linking, чтобы преподаватель выбрал оценку Testlify и добавил её на курс как задание, Names and Role Provisioning Services (NRPS), чтобы подтянуть кандидатов, записанных на этот курс, и Assignment & Grade Services (AGS), чтобы вернуть балл каждого кандидата в журнал оценок LMS, так что преподаватели видят результаты там, где уже работают.
  • Full-stack-система: объединил мультитенантную маршрутизацию API с дашбордом на React 18 в одном приложении, спроектировал схемы MongoDB для конфигурации по каждой платформе и использовал Docker, чтобы моделировать изолированные среды LMS для локального тестирования.

Почему это было важно

Соответствующая стандартам интеграция LTI открыла Testlify рынки высшего образования и корпоративного обучения — а построенный мной плагин затем прошёл тестирование на соответствие 1EdTech и получил сертификацию. Преподаватели могли назначать оценки целому курсу и автоматически получать баллы в журнал оценок — без выгрузки списков и копирования результатов вручную, — а именно такое трение обычно тормозит внедрение в LMS.