Wellcam.fit

Галузь:FitTech / Велнес
Локація:Італія
Дві окремі ролі користувачів: клієнти та тренери, кожен з власним інтерфейсом, дашбордом та потоком бронювання.
Підтримка 3 платформ з єдиною адаптивною кодовою базою: десктоп, мобільний та планшет.
Wellcam.fit

Інформація про клієнта

Wellcam S.R.L. — це італійська FitTech-компанія з чітким позиціонуванням на ринку: зробити професійні фітнес-тренування доступними онлайн, усуваючи бар'єри абонементів у спортзал або стандартизованих відеопідписок. Розроблена платформа працює як двосторонній маркетплейс: з одного боку — клієнти, які бажають бронювати індивідуальні або групові фітнес-заняття, з іншого — сертифіковані персональні тренери, які хочуть будувати та управляти своєю клієнтською базою в цифровому форматі.

Платформа Wellcam.fit мала забезпечити все, що потрібно для справжніх відносин тренер-клієнт: пошук профілів, каталог занять, бронювання через календар, планування повторюваних сесій, управління гаманцем та доступ до живих сесій — усе в межах єдиного адаптивного додатку, що однаково добре працює на десктопі, мобільних пристроях та планшетах.

Виклик

Створення фітнес-маркетплейсу з двома ролями лише за 10 тижнів передбачало ряд специфічних обмежень, що впливали на кожне рішення:
  • Два паралельні продуктові досвіди: клієнти та персональні тренери взаємодіють з однією платформою принципово різними способами. Тренеру потрібні інструменти для планування, управління заняттями та відстеження фінансів. Клієнту потрібні інструменти для пошуку, бронювання, цифровий гаманець та список побажань. Обидва досвіди мали бути спроєктовані, реалізовані та протестовані одночасно, не заважаючи один одному.
  • Складна логіка бронювання: окрім простого бронювання зустрічей, платформа вимагала підтримки групових занять зі змінною частотою, повторюваних сесій, що автоматично генеруються до 12 місяців наперед відповідно до доступності тренерів, пакетів цін зі знижками та потоку оплати на основі цифрового гаманця з блокуванням та розблокуванням коштів після завершення заняття.
  • Інтеграція API з наявним бекендом: Бекенд було побудовано на фреймворку електронної комерції Bagisto — системі на базі Laravel, яка не була спочатку розроблена для бронювання фітнес-занять. Відображення фітнес-специфічних концепцій (часові слоти, доступність інструкторів, повторювані бронювання) на API електронної комерції вимагало інтерпретації, кастомної логіки та тісної координації між командами фронтенду та бекенду протягом усього проєкту.
  • Адаптивний дизайн на трьох пристроях: Кожен екран — від дашборду інструктора до потоку бронювання та каталогу занять — мав коректно працювати на десктопі, мобільних пристроях та планшетах, з дизайном, який не був повністю визначений для всіх трьох пристроїв на початку розробки.
Маєте запитання?
Зустрінемося та обговоримо.
Зустрінемося
Wellcam.fit – solution illustration

Рішення

WWG структурувала проєкт у чотири фази: налаштування середовища та огляд API, розробка основного модуля, контроль якості та впровадження, з двотижневими Scrum-спринтами для забезпечення передбачуваних термінів та високої видимості для клієнта протягом усього процесу.

Архітектура платформи з подвійною роллю

Додаток було побудовано навколо двох окремих автентифікованих досвідів, що використовують спільну кодову базу. Облікові записи тренерів мають доступ до створення та управління заняттями, перегляду тижневого розкладу, обробки запитів клієнтів та відстеження доходів через інтерфейс гаманця. Облікові записи клієнтів мають доступ до пошуку тренерів, каталогу курсів з функціями фільтрації та списку бажань, потоку бронювання та історії персональних сесій. Маршрутизація та дозволи на основі ролей забезпечують розділення як на рівні інтерфейсу, так і на рівні API.

Wellcam.fit – solution illustration
Механізм бронювання та планування

Система бронювання була одним з найскладніших технічно модулів проєкту. Клієнти можуть бронювати індивідуальні заняття або повторювані групові сесії, обираючи частоту та тривалість. Бекенд автоматично генерує екземпляри повторюваних занять до 12 місяців наперед, перевіряючи доступність викладача для кожного часового слоту перед створенням. Оплата здійснюється через механізм блокування гаманця: кошти резервуються під час бронювання та вивільняються на користь викладача після завершення сесії, при цьому Stripe обробляє поповнення, а Zustand керує станом кошика та гаманця на фронтенді.

UX-покращення після демо

Після внутрішнього демо продукту WWG виявила та запропонувала серію UX-покращень, які були інтегровані до фінальної поставки. Серед покращень: відображення точних дат бронювання в календарі замість абстрактного вибору дня тижня, відображення доступних часових слотів тренерів безпосередньо в інтерфейсі бронювання, відображення поточного балансу гаманця в кошику, додавання розділу з історією занять до перегляду гаманця та розширення розкладу з навігацією тиждень за тижнем.

Wellcam.fit – solution illustration
Інфраструктура сповіщень через SMS та електронну пошту

Підтвердження бронювань та нагадування про сесії надсилаються через AWS Pinpoint (SMS) та електронну пошту з використанням шаблонів, керованих бекендом. Логіка сповіщень перевіряє обмеження пісочниці та ліміти використання, з системою журналювання помилок для виявлення проблем з доставкою під час контролю якості.

Технологічний стек

Next.js / React
Фронтенд-фреймворк з серверним рендерингом для продуктивності та SEO на всіх сторінках каталогу та профілю тренера.

TypeScript
Наскрізна типобезпека між компонентами, викликами API та управлінням станом, що зменшує помилки інтеграції в кодовій базі з подвійною роллю.

Tailwind CSS
Утилітарний підхід до стилізації, що забезпечує швидку та послідовну розробку UI на всіх трьох адаптивних поверхнях: десктоп, планшет та мобільний.

Zustand
Легке управління станом з персистентністю для кошика, гаманця та стану сесії, що запобігає втраті даних при перезавантаженні сторінки.

API Bagisto
Бекенд електронної комерції на базі Laravel, адаптований для обробки фітнес-специфічних сутностей: слотів для занять, розкладів тренерів, повторюваних бронювань та пакетів підписки.
Strapi CMS
Управління контентом для описів курсів, таксономії категорій та текстів платформи, відокремлене від основної логіки бронювання.

Stripe
Обробка платежів для поповнення гаманця та покупки підписок, з блокуванням та розблокуванням коштів, пов'язаним із завершенням занять.

AWS S3 + Pinpoint
S3 для зберігання медіаконтенту (фото викладачів, ресурси курсів); Pinpoint для підтверджень бронювання через SMS та нагадувань про сесії.

Vercel
Платформа розгортання фронтенду, що забезпечує CI/CD, edge-кешування та управління середовищами staging та production.

Основні технічні виклики

Адаптація API електронної комерції до домену бронювання фітнес-занять

Бекенд Bagisto було створено як універсальний фреймворк електронної комерції. Такі концепції, як вікна доступності інструкторів, генерація повторюваних занять, виявлення конфліктів на рівні слотів та цикли блокування-розблокування гаманця, не присутні нативно в моделі кошика покупок. Подолання цього розриву вимагало тісної співпраці між командами фронтенду та бекенду, значної роботи з відображення API та кастомної логіки з обох сторін, включаючи створення генератора повторюваних занять, який створює екземпляри до 12 місяців наперед, дотримуючись існуючих бронювань.

Потік оплати на основі гаманця з резервуванням коштів

Замість стягнення оплати під час бронювання, Wellcam.fit використовує модель блокування коштів: коли клієнт бронює сесію, вартість блокується з балансу його гаманця та утримується до проведення заняття. Лише тоді кошти вивільняються на користь тренера. Це вимагало реалізації життєвого циклу транзакції з кількома станами — блокування, утримання, вивільнення та переказ — з обробкою поповнень через Stripe та перевіркою достатності балансу бекендом перед підтвердженням будь-якого бронювання.

Wellcam.fit – solution illustration
Адаптивний дизайн для кількох поверхонь з неповними специфікаціями

Специфікації дизайну для всіх трьох поверхонь платформи не були повністю визначені на початку розробки. Команда працювала з наявною інформацією, систематично повідомляла про прогалини через структурований процес запитань та відповідей з клієнтом та приймала прагматичні рішення — обираючи простіший з двох неоднозначних варіантів дизайну та позначаючи рішення для перевірки клієнтом — для дотримання термінів та уникнення накопичення переробок.

Результати – results

Результати

  1. Повноцінний маркетплейс, реалізований за 10 тижнів Від налаштування середовища до розгортання на Vercel — повністю функціональна фітнес-платформа з двома ролями, що включає управління тренерами, бронювання клієнтів, платежі через гаманець, повторюване планування та кросбраузерний QA.
  2. Повна обробка складності бронювань Індивідуальні сесії, групові заняття та повторювані бронювання з автоматичною генерацією на 12 місяців — усе інтегровано в єдиний послідовний потік оформлення замовлення та гаманця, включаючи знижки на пакети.
  3. UX-покращення впроваджені до запуску Дев'ять UX-покращень, виявлених через внутрішній огляд та зворотний зв'язок після демо, були визначені, спроєктовані та випущені — включаючи бронювання з явними датами, відображення доступних слотів та навігацію розкладу тренерів.
  4. Адаптивність на всіх пристроях Повна кросбраузерна та кросплатформна сумісність, підтверджена структурованим QA — платформа працює послідовно на десктопі, планшеті та мобільному у всіх основних браузерах.

Висновок

Wellcam.fit — чудовий приклад того, що потрібно для побудови маркетплейсу з двома окремими ролями та справжньою бізнес-логікою: не просто екрани та компоненти, а механізм планування, потік фінансових транзакцій та подвійний продуктовий досвід — усе ідеально синхронізовано. Десятитижневий дедлайн був стислим, і проєкт вимагав від команди прийняття рішень в умовах невизначеності без втрати темпу поставки.
WWG надала стабільну платформу, перевірену командою контролю якості, готову для реального користувацького трафіку, і пішла далі — виявивши та впровадивши покращення користувацького досвіду, які клієнт явно не запитував, оскільки це йшло на користь продукту.

Зв'яжіться з нами