Для менеджеров и тренеров школы плавания мы разработали Swimeo 2.0 — CRM-систему, которая позволяет планировать и отслеживать занятия, оценивать эффективность учебных групп или тренеров, считать посещаемость бассейнов и интегрироваться c существующим аккаунтом amoCRM. Программа адаптируется для фитнес-клубов, школ плавания, плавательных бассейнов, тренажерных залов, спортивный секций, школ танцев и единоборств, студий йоги, растяжки и пилатеса, crossfit-студий; бизнесов в сфере красоты, образования и творчества, репетиционной базы.
Плавание популярно среди людей всех возрастов. Родители приводят в бассейн детей, чтобы малыши закалялись и развивались физически. Молодежь стремится к достижению и поддержанию красивой фигуры. Взрослые и пожилые люди выбирают плавание, поскольку такая нагрузка не вредит позвоночнику и другим органам, что бывает, например, при силовых тренировках. Плавание больше ассоциируется с отдыхом, чем с физическим трудом, и человек с удовольствием идет в бассейн.
Для снижения или поддержания веса нужно тратить энергию. Плавание сжигает от 100 до 500 килокалорий на дистанциях 100–1500 м. Почему? Во-первых, плотность воды примерно в 775 раз выше плотности воздуха, следовательно, даже при выполнении простых движений в бассейне тратится много энергии. Во-вторых, при плавании дыхание становится более глубоким и учащенным, а значит тело человека сильнее насыщается кислородом. В-третьих, в воде пловец излучает на 50–80% больше тепла, и чтобы восстановить такие потери, обмен веществ в организме ускоряется.
Архитектура
Для поддержания информации в актуальном состоянии и комфортной работы большого числа клиентов backend (серверная часть) реализован с использованием асинхронного Python-фреймворка FastAPI на технологии websocket. Frontend (клиентская часть) реализован при помощи фреймворка React.js с адаптивной версткой приложения тренера для работы на мобильных устройствах.
Основное приложение
Предназначено для менеджеров, администраторов и директоров. Все начинается с экрана авторизации, где необходимо ввести электронную почту и пароль.
![Основное приложение-Авторизация](files/png/xOsnovnoe-prilozhenie-Avtorizatsiya.png.pagespeed.ic.kpaQGyKcNC.png)
Главная страница — «сердце» проекта, в котором «бьется» большая часть процессов, и представлен список групп текущего потока (месяца).
![Основное приложение-Группы](files/png/Osnovnoe-prilozhenie-Gruppy.png.pagespeed.ce.t87RD6DYHm.png)
![Основное приложение-Календарь](files/png/xOsnovnoe-prilozhenie-Kalendar.png.pagespeed.ic.EnMtGt0KLa.png)
На странице возможно выбирать:
- другие потоки;
- возраст детей;
- дни недели, в которые проходят занятия;
- время начала занятий (утро, день или вечер);
- фильтры по группам — бассейны, уровень мастерства, взрослые или дети.
![Основное приложение-Фильтр](files/png/Osnovnoe-prilozhenie-Filtr.png.pagespeed.ce.2vkcbtDJzl.png)
Также на странице отображаются:
- уведомления о группах с низкой посещаемостью, при открытии которых в левом углу появляется список с возможностью открыть такую группу и проанализировать состояние;
![Основное приложение-Уведомления о группах](files/png/Osnovnoe-prilozhenie-Uvedomleniya-o-gruppah.png.pagespeed.ce.UulUeEf-iY.png)
![Основное приложение-Список групп](files/png/xOsnovnoe-prilozhenie-Spisok-grupp.png.pagespeed.ic.0eOcH1wR_E.png)
- уведомления от тренеров о занятии, при открытии которого аналогично предыдущему виджету отображается список комментариев со ссылкой на группу и занятие.
![Основное приложение-Уведомления тренеров](files/png/xOsnovnoe-prilozhenie-Uvedomleniya-trenerov.png.pagespeed.ic.BjmmR37DLH.png)
![Основное приложение-Список комментариев](files/png/xOsnovnoe-prilozhenie-Spisok-kommentariev.png.pagespeed.ic.su_NxK85eL.png)
Группы делятся на категории: взрослые, дети (в свою очередь по возрастам 5–7, 8–10, 11–13 лет) и уровень мастерства (нулевой, новички, средний, pro и сухое).
В каждой группе указывается следующее: тренер, дни занятий, время начала занятий, бассейн, возраст, стоимость, вместимость, информация о свободных местах (на основе оплаченных занятий) и свободные места без учета оплаты («свободно» или «с бронью»). Если группа клонирована с предыдущего потока, для удобства менеджеров переносится информация об учениках, которые были записаны в данную группу ранее.
![Основное приложение-Информация в группе](files/png/Osnovnoe-prilozhenie-Informatsiya-v-gruppe.png)
При помощи виджета можно добавить учеников из прошлого потока, а также добавить новых учеников при помощи поисковой строки, которая обращается к списку всех учеников. Ученики синхронизируются с разделом «Contacts» из amoCRM.
![Редактирование группы](files/png/Osnovnoe-prilozhenie-Redaktirovanie-gruppy.png)
По каждому клиенту из группы в карточке клиента возможно проставлять посещаемость, кликая на соответствующее поле в таблице и выбирая статус, и оставлять комментарий об ученике.
![Основное приложение-Посещаемость](files/png/xOsnovnoe-prilozhenie-Poseshhaemost.png.pagespeed.ic.Ss2P3q_RTg.png)
![Основное приложение-Комментарий](files/png/xOsnovnoe-prilozhenie-Kommentarij.png.pagespeed.ic.8H8YK_Zqet.png)
В карточке клиента есть кнопка «Просмотр», при нажатии на которую открывается форма оплаты и доступа к занятиям.
![Основное приложение-Форма оплаты](files/png/xOsnovnoe-prilozhenie-Forma-oplaty.png.pagespeed.ic.AnSu0JaDq_.png)
В данной форме возможно зафиксировать оплату занятий и проставить доступ к занятиям. Виды оплаты: полностью, продлить, оплатить по корпоративному тарифу, внести аванс, внести доплату и оплатить за 2 или 3 месяца вперед. При этом остатки суммы пойдут в баланс клиента для использования поля «Оплачено ранее». В левой части формы содержится информация о клиенте и его группе. Возможно перенести карточку клиента в другую группу. Если у перенесенного пользователя была оплата, то оставшиеся занятия в месяце будут проставлены как оплаченные. Можно удалить из группы карточку клиента, если у него нет оплаченных занятий.
![Основное приложение-Удалить из группы](files/png/Osnovnoe-prilozhenie-Udalit-iz-gruppy.png.pagespeed.ce.S1SW-aWcZ9.png)
Предусмотрена возможность удалить оплату.
![Основное приложение-Удалить оплату](files/png/xOsnovnoe-prilozhenie-Udalit-oplatu.png.pagespeed.ic.iNfYfd2zis.png)
При этом появляется нижеследующее диалоговое окно.
![Основное приложение-Диалоговое окно](files/png/xOsnovnoe-prilozhenie-Dialogovoe-okno.png.pagespeed.ic.VDd2ldZ_RD.png)
В разделе «Тренеры» формируется статистика по зарплатам тренеров за различные потоки в разрезе дети или взрослые, вода или сухое. Результат фильтруется по ФИО тренера.
![Основное приложение-Тренеры](files/png/xOsnovnoe-prilozhenie-Trenery.png.pagespeed.ic.ukIMGcWlGZ.png)
Вкладка «Администрирование» содержит следующие подразделы. В подразделе «Бассейны» показаны существующие бассейны с их тарифами. По нажатию на шестеренку вносятся изменения в бассейн, или же добавляется новый бассейн по нажатию на кнопку «Добавить новый бассейн».
![Основное приложение-Администрирование](files/png/xOsnovnoe-prilozhenie-Administrirovanie.png.pagespeed.ic.LsSLjebBm2.png)
В обоих случаях открывается форма редактирования бассейна. У каждого бассейна может быть несколько тарифов.
![Основное приложение-Форма редактирования бассейна](files/png/Osnovnoe-prilozhenie-Forma-redaktirovaniya-bassejna.png)
Потоками в Swimeo называются периоды времени, в которые занимаются разные группы. Создавая новый поток, нужно задать интервал дат (например, с 1 сентября 2022 по 30 сентября 2022) и присвоить потоку название (например, «Сентябрь 2022»).
В подразделе «Потоки и группы» отображаются все потоки,
![Основное приложение-Потоки и группы](files/png/Osnovnoe-prilozhenie-Potoki-i-gruppy.png)
в которые есть возможность добавлять новые группы,
![Основное приложение-Создание новой группы](files/png/Osnovnoe-prilozhenie-Sozdanie-novoj-gruppy.png)
создавать сами потоки,
![Основное приложение-Создание нового потока](files/png/Osnovnoe-prilozhenie-Sozdanie-novogo-potoka.png)
клонировать группы из другого потока в новый (пустой) поток
![Основное приложение-Клонирование групп](files/png/Osnovnoe-prilozhenie-Klonirovanie-grupp.png)
и указывать активный поток, то есть поток, выводимый пользователям при переходе на страницу «Группы».
Подраздел «Пользователи» через форму изменения позволяет администрировать пользователей: создавать, деактивировать, задавать пароль и корректировать данные. Предусмотрен поиск и настройка количества отображаемых на одной странице пользователей.
![Основное приложение-Пользователи](files/png/Osnovnoe-prilozhenie-Polzovateli.png)
![Основное приложение-Обновление пользователя](files/png/Osnovnoe-prilozhenie-Obnovlenie-polzovatelya.png)
В подразделе «Аналитика» можно получить аналитические отчеты, основанные на данных из Swimeo:
- отчет по тренерам, зарплата;
![Основное приложение-Отчет по тренерам-зарплата](files/png/Osnovnoe-prilozhenie-Otchet-po-treneram-zarplata.png)
- отчет по тренерам, продление;
![Основное приложение-Отчет по тренерам-продление](files/png/Osnovnoe-prilozhenie-Otchet-po-treneram-prodlenie.png)
- отчет по дивизионам, продление;
![Основное приложение-Отчет по дивизионам-продление](files/png/Osnovnoe-prilozhenie-Otchet-po-divizionam-prodlenie.png)
- эффективность групп.
![Основное приложение-Отчет эффективности групп](files/png/Osnovnoe-prilozhenie-Otchet-effektivnosti-grupp.png)
Также можно сформировать аналитические отчеты, основанные на данных amoCRM, с которой произведена интеграция:
- общая аналитика;
- продажи по услугам;
- продажи по менеджерам.
Подраздел «Laboratory» — технический раздел с возможностями задать время до и после занятия, в пределах которого тренерам разрешено отмечать посещения пользователей, привязать amoCRM к приложению, получить необходимые данные из amoCRM и отдельно получить клиентов, а также установить ставки тренеров для расчета заработной платы.
![Основное приложение-Лаборатория](files/png/Osnovnoe-prilozhenie-Laboratoriya.png)
Подраздел «Схема оплат» позволяет указывать, в каких случаях и какие банковские счета необходимо задействовать при той или иной оплате.
![Основное приложение-Схема оплат](files/png/Osnovnoe-prilozhenie-Shema-oplat.png)
Приложение тренера
Сайт с адаптивной версткой для удобной загрузки со смартфона, где также все начинается с авторизации.
![Приложение тренера-Авторизация](files/png/Prilozhenie-trenera-Avtorizatsiya.png)
После авторизации попадаем на главную страницу, на которой отображаются ближайшие занятия тренеров.
![Приложение тренера-Главная страница](files/png/Prilozhenie-trenera-Glavnaya-stranitsa.png)
На каждом занятии можно отметить посещения учеников, а также оставить комментарий, который отобразится у курирующего менеджера в основном приложении.
![Приложение тренера-Занятие](files/png/Prilozhenie-trenera-Zanyatie.png)
Перейдя в раздел «Доход», тренер отслеживает свою заработную плату за различные потоки.
![Приложение тренера-Ссылка на раздел доход](files/png/Prilozhenie-trenera-Ssylka-na-razdel-dohod.png)
![Приложение тренера-Доход](files/png/Prilozhenie-trenera-Dohod.png)