Trainer Advisor

December 13, 2023

В этом посте я общими словами опишу Trainer Advisor (ранее - QYoga, репозиторий на GitHub) - проект, на примере которого я буду демонстрировать Эргономичный подход.

Trainer Advisor - это сервис для йогатерапевтов и тренеров умного фитнеса, который призван решить следующие их боли:

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

Для того чтобы решить эти боли, Trainer Advisor будет включать следующие фичи:

  • База клиентов.

    По большому счёту просто CRM со списком клиентов и их контактными данными;

  • Карточка клиентов

    Аналог медицинской карточки, содержащий всю информацию о клиентах, релевантную для терапевта. Включает в себя:

    • Особенности (политкорректное название патологий).

      Особенности организма клиента, требующие коррекции и/или ограничивающие доступные для клиента упражнения.

    • Журнал - история взаимодействий с клиентом.

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

    • Объём движений в суставах

      Таблица результатов замеров объёма движений во всех возможных направлениях и суставах (64 штуки) с хранением исторических данных.

    • Файлы

      Произвольные файлы - фото положения тела клиента в разных плоскостях, сканы МРТ, сканы заключений врачей и т.д.

    • История занятий

      Список занятий клиента с датой и программой занятия.

    • Прохождения опросов

      Результаты прохождения клиентом диагностических опросов.

  • Справочник терапевтических задач.

    Справочник задач, которые может решить терапевт.

  • Справочник упражнений.

    Справочник упражнений с описанием, достаточным для самостоятельных занятий клиентом, а так же манипуляциями (которые могут быть противопоказаны особенностям) и эффектами (которые могут быть показаны терапевтическим задачам).

  • Автоматизация составления программы с учётом задачи и особенностей клиента, а так же истории его занятий;

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

  • Генерация материалов (docx-файлов) для самостоятельных занятий

    Функция системы по генерации docx-файла, со списком упражнений, их описания и шагов выполнения, который передаётся клиенту для самостоятельных занятий.

  • Календарь занятий

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

  • Справочник диагностических опросников по регионам тела

    Справочник диагностических опросников, категоризованный по регионам тела.

Реализацию я начну с карточки клиента и составления программ, поэтому только для этих частей у меня есть подробные модели:

QYoga domain model   clients.drawio
QYoga domain model   training.drawio