Кейсы
November 21

Умный таймер медитаций для школы на GetCourse

Клиенту нужно было дать ученикам удобный способ считать время медитаций прямо внутри уроков на GetCourse, потому что по программе у них есть строгие требования:
— сколько минут медитации нужно выполнить в каждом уроке,
— сколько часов нужно накопить за весь курс.

Чтобы ученик не вел учёт вручную, требовалось создать умный таймер, который сам фиксирует всё нужное время и показывает прогресс по урокам, модулям и программе в целом.

Что именно хотел заказчик

1. Таймер, который работает сам

  • Если в уроке есть аудио-медитация — таймер должен запускаться автоматически вместе со звуком.
  • Если человек медитирует в тишине — таймер можно включить вручную.

2. Два режима

  • Таймер — на фиксированное время: 5, 10, 15 или 20 минут.
  • Секундомер — просто считает минуты, пока пользователь медитирует.

В конце должен быть мягкий звук гонга.

3. Подсказка внутри таймера

По клику на иконку «i» — всплывающая подсказка с объяснением, как пользоваться таймером.

4. Собирание статистики

Таймер должен автоматически сохранять:

  • время по каждому уроку,
  • время по каждому модулю,
  • общее накопленное время по всему тренингу.

Прогресс показывается:

  • на карточках уроков,
  • внутри аккордеона с модулями и уроками,
  • в общем прогрессе по программе.

Если ученик набрал нужное время — урок помечается галочкой.

5. Аккордеон с модулями и уроками

  • Модули раскрываются списком.
  • Каждый урок показывает своё время + сколько студент уже сделал.
  • Из списка можно перейти на урок.

6. Гибкость

Если ученик медитирует больше нормы — всё идёт в общий зачёт.

7. Много тренингов

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

8. Работа не только в браузере, но и в приложении GetCourse

Таймер и прогресс должны работать и в веб-версии GetCourse, и в приложении Chatium.

Что я сделал

Я создал полноценную систему учёта медитаций внутри GetCourse — от умного таймера до визуального прогресса по урокам, модулям и целым программам.
Фактически это мини-приложение, встроенное в обучающую платформу.

1. Разработал умный таймер

  • Автоматически запускается, когда ученик включает аудиомедитацию.
  • Может запускаться и вручную — как секундомер или таймер.
  • Автоматом фиксирует прогресс каджые 10 сек.
  • Работает и в браузере, и в приложении GetCourse.
Так выглядит таймер в уроке

2. Реализовал точный подсчёт времени

Таймер считает секунды, минуты и часы без пропусков — даже если:

  • страницу обновили,
  • интернет подвис,
  • пользователь ушёл в фоновый режим.

Все данные сохраняются в базе и синхронизируются между устройствами.

3. Связал таймер с аудиомедитацией

Я реализовал глубокую интеграцию таймера с аудиоплеером внутри уроков. Теперь всё работает полностью автоматически:

  • таймер автоматически стартует при включении аудиомедитации,
  • при перемотках и остановках аудио таймер сам подстраивается,
  • если таймер запущен без аудио, то при завершении отсчёта звучит «гонг» сигнализирующий о том, что время вышло.
Таймер работает параллельно с аудио

3. Настроил автоматический учёт времени по урокам

Каждый урок получает собственную статистику:

  • сколько минут медитации выполнено,
  • сколько нужно по программе,
  • достигнута ли норма (появляется галочка).
Прогрессы по урокам на странице модуля

4. Построил систему прогресса по модулям

Для каждого модуля я настроил:

  • суммирование времени по всем урокам,
  • определение, выполнен ли модуль,
  • отображение прогресса в удобном формате.

5. Добавил общий прогресс по тренингу

Ученик видит:

  • общий накопленный объём медитаций,
  • сколько осталось до нормы,
  • прогресс по всем модулям и урокам в виде удобного аккордеона.

6. Реализовал аккордеон с модулями и уроками

В нём:

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

7. Учёл особенности трёх программ

У каждой программы разные:

  • количество модулей,
  • количество уроков,
  • нормы по минутам.

Я сделал таймер, который корректно работает для всех трёх направлений независимо.

8. Адаптировал под реальную механику ГК

Учитывая ограничения GetCourse, я подключил логику учёта к GC API и собственной базе, оптимизировал работу таймера под фронт и бэкенд.

Итоги

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

Студенты теперь видят:

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

Таймер работает автоматически, запускается вместе с аудио, корректно реагирует на перемотку, паузу и ручной режим, а прогресс синхронизируется между уроками, модулями и тремя независимыми тренингами. Всё это работает как в вебе GetCourse, так и в приложении Chatium.

Для школы это дало:

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

Проект превратил сложный процесс подсчёта времени в простой и интуитивный инструмент, который работает «сам по себе» — студенту остаётся только медитировать.

Видеоотзыв заказчика

Если перед вами стоит сложная, нестандартная или «невозможная» задача — скорее всего, её можно решить. Просто напишите мне 👉 @DmitrySpace