ПослугиКейсиПортфоліоКонтакти Магазин Обговорити проєкт
← Портфоліо
API Integration / LMS 2026 Анонімізовано / NDA

Інтеграція LMS із зовнішньою системою прогресу

Окремий WordPress-плагін для зв’язування користувачів LMS із зовнішньою платформою, перевірки авторизації, mapping, синхронізації ідентифікаторів і виведення прогресу безпосередньо в student dashboard.

Моя роль

Integration Engineer · WordPress plugin architecture, REST API, mapping, sync flows, dashboard UX

WordPress PluginPHPREST APIAJAXUser MappingBulk SyncDashboardsSupabase
Інтеграція LMS із зовнішньою системою прогресу
Напрям API Integration / LMS
Технології WordPress Plugin · PHP · REST API
Роль Integration Engineer · WordPress plugin architecture, REST API, mapping, sync flows, dashboard UX
Формат NDA-safe case study

Як була вирішена задача

Без маркетингових цифр і вигаданих KPI — тільки контекст, технічна робота та результат.

01

Контекст і масштаб

Інтеграція двох незалежних систем з різними моделями користувачів і груп. WordPress/LMS залишається основним user-facing середовищем, а зовнішня платформа є джерелом частини progress-даних.

  • Технічний API account і перевірка auth
  • User mapping і збереження external student ID
  • Manual sync та bulk mapping
  • Student dashboard integration
  • Станові екрани: немає даних / синхронізація / дані готові
  • Підтримка користувачів з кількома навчальними групами
02

Задача

Основна проблема була не в одному API-запиті, а в надійному зіставленні даних. Імена можуть повторюватися, частина студентів відсутня в одній із систем, а помилка mapping не повинна показати чужий прогрес.

Також адміністраторам потрібен був контрольований спосіб виконувати масове зіставлення, бачити unmatched/duplicates і перевіряти результат до фактичного оновлення.

03

Що було зроблено

  • Створено окремий plugin layer замість логіки в theme functions.
  • Додано Test Auth та адміністративний список студентів зовнішньої системи.
  • Реалізовано збереження `tracker_student_id` для зв’язаного WordPress-користувача.
  • Додано manual sync і bulk mapping з dry-run режимом та підсумком matched / not found / duplicates.
  • Побудовано shortcode/dashboard integration для виведення прогресу всередині LMS.
  • Розділено UI-стани, щоб користувач відрізняв відсутність mapping від процесу синхронізації та готових даних.
  • Додано логіку для кількох груп і подальших webhook/sync сценаріїв.
04

Технічний фокус

  • WordPress plugin architecture та PHP service layer
  • REST API authentication і error handling
  • User meta / external ID mapping
  • AJAX/admin actions, nonce та permission checks
  • Bulk processing і dry-run validation
  • Dashboard rendering та state management
  • External backend / Supabase data source
  • Audit-friendly mapping workflow
05

Результат

Зовнішній прогрес став частиною єдиного student experience — користувачу не потрібно переходити в окрему систему. Адміністративний mapping перетворений на контрольований процес з перевіркою, dry-run і явними статусами замість ручного редагування ідентифікаторів.

Інтеграційна логіка ізольована в окремому плагіні, тому її можна розвивати незалежно від теми та LMS-шаблонів.

Спочатку розберемо систему — потім пишемо код

Опишіть проблему, стек і поточні обмеження — почнемо з технічної оцінки та безпечного плану змін.

Обговорити проєкт →