Если ученик проходит урок, выходит и видит ноль прогресса, доверие к платформе быстро падает. Особенно неприятно, когда речь о длинных видео или платном курсе.

Почему возникает проблема

Прогресс может не сохраняться из-за ошибки события, таймаута сессии, сбоя API, блокировки запроса, неправильного user_id или логики, которая сохраняет только полное завершение урока.

Что проверяю

  • Когда именно должен сохраняться прогресс.
  • Уходит ли запрос сохранения на сервер.
  • Что отвечает API.
  • Не истекает ли сессия пользователя.
  • Как обрабатываются видео, тесты и ручная отметка завершения.

Как решаю задачу

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

  • Воспроизвожу проблему на тестовом пользователе.
  • Проверяю network-запросы и backend-логи.
  • Исправляю autosave и обработку ошибок.
  • Добавляю восстановление последней позиции.
  • Тестирую разные типы уроков.

Что будет на выходе

  • Прогресс сохраняется после выхода.
  • Ученик возвращается к нужному месту.
  • Администратор видит реальные статусы.
  • Платформа меньше раздражает пользователей.

Что подготовить

  • Доступ к тестовому аккаунту.
  • Ссылку на проблемный урок.
  • Описание LMS или CMS.
  • Пример, какой прогресс должен сохраниться.

Вопросы и ответы

Можно ли сохранять прогресс без постоянных запросов?

Да. Можно сохранять периодически, при паузе, перед закрытием страницы и на сервере.

Что делать с видео с внешнего сервиса?

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

Нужна похожая задача?

Опишите, что именно не работает и где это видно. Я быстро разберу симптомы, проверю техническую причину и предложу понятный план исправления без лишних созвонов и затяжки.