Создание сайта, который ставится на телефон как приложение, для сети фитнес-студий (йога, пилатес, функциональные тренировки): расписание, запись на занятие и уведомления, при этом ничего не нужно публиковать в магазинах приложений. Автор — Евгений Росляков, веб-разработчик: сайты и веб-сервисы он делает с 2016 года. Работает самозанятым, подписывает договор, юрлицам передаёт закрывающие документы. Москва или удалённо — как удобнее заказчику.
У студий было расписание в CRM и несколько страниц на сайте. Администраторы переписывали время занятий вручную, клиенты записывались по телефону или в мессенджере. Группы по семь–двенадцать человек. Кто-то отменяет за два часа до начала, место пустует, хотя на него ждали желающие.
Владельцы хотели своё приложение. Но магазины приложений означают две версии (для iPhone и Android), проверку при каждом обновлении и отдельный бюджет на поддержку. Для сети из нескольких студий это тяжело.
Задача: дать клиентам привычное приложение на экране телефона, но сделать его из сайта.
Выбрал прогрессивные веб-приложения. Сайт добавляется на домашний экран, открывается без адресной строки, как обычная программа, и хранит в кэше последнее загруженное расписание. Если в подвале студии пропала связь, человек всё равно видит свои записи и время занятия.
Интерфейс написал на Svelte. Он компилируется в небольшой код, на недорогих телефонах это заметно по скорости. Экранов немного: расписание по дням с фильтрами по студии и направлению, карточка занятия, мои записи, абонемент.
Код пишу на ECMAScript, без тяжёлых библиотек. Запросы к CRM студии строятся на async/await из ES8 Javascript: проверить место, записать, обновить абонемент, показать результат. Шаги читаются сверху вниз, ошибки ловятся в одном месте. Если CRM не отвечает, человек видит понятное сообщение, а не белый экран.
Push-уведомления трёх видов: напоминание о начале занятия, «освободилось место» для тех, кто в листе ожидания, и сообщение об отмене. На Android они приходят после согласия в самом приложении. На iPhone только после того, как сайт добавлен на экран «Домой», поэтому в приложении есть короткая подсказка с картинками по шагам.
У сети есть приложение для записи, которое ставится прямо со страницы сайта за пару касаний. Обновление получают все клиенты сразу, согласовывать с магазинами ничего не нужно, и поддерживать приходится одну версию вместо двух.
Освободившееся место больше не пропадает: уведомление уходит первому в листе ожидания, и чаще всего оно находит нового клиента. Администраторы реже отвечают на вопросы «во сколько завтра занятие», потому что напоминание приходит само.
Ограничения тоже есть. Запись без связи невозможна: офлайн человек видит расписание из кэша, но записаться не может. Часть клиентов с iPhone не устанавливает сайт на экран, и до них уведомления не доходят, поэтому подсказку я вынес на видное место и повторяю после первой записи.
Следующим шагом студия хочет оплату абонемента в самом приложении и отзывы после занятия.
Нужно приложение для записи, но магазины приложений вам ни к чему? Опишите в сообщении на freelance.ru, какая у вас CRM и как устроено расписание. Скажу, подойдёт ли такой путь.