Главная

Full Stack разработка • 2014 - 2017

Welldoing.org

Объединение каталога терапевтов и блога в единую платформу на October CMS с кастомным движком алгоритмического подбора

Welldoing.org — это ведущий каталог терапевтов и контент-платформа о ментальном здоровье в Великобритании. Задача состояла в том, чтобы объединить две разрозненные системы — базовый каталог и отдельный блог на WordPress — в единую, целостную SaaS-платформу.

Единая панель управления Welldoing.org

01. Исключения

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

  • Фрагментированная архитектура: У пользователей, читающих статьи, не было прямого пути для записи к терапевту. Две базы данных не «общались» друг с другом.
  • Сложности подбора: Поиск «подходящего» терапевта был ручным процессом проб и ошибок для уязвимых пользователей.
  • Разрыв в бронировании: Терапевты управляли своими собственными отдельными системами бронирования, что приводило к потере записей и дохода.

02. Архитектура

1. Унификация платформы (October CMS)

Я спроектировал полную миграцию, объединив блог и каталог в единую унифицированную платформу с использованием October CMS (Laravel). Это позволило нам создать кастомные модели «Терапевт» (Therapist), которые напрямую связывались с тегами контента, создавая бесшовный путь пользователя от чтения до записи.

class Therapist extends Model {
    public $belongsToMany = [
        'specialties' => ['Welldoing\Directory\Models\Specialty']
    ];
}

2. Алгоритм подбора

Я разработал специализированную систему «Therapist Match» (Подбор терапевта). Этот мастер (визард) проводит пользователей через серию диагностических вопросов и использует их местоположение для фильтрации результатов. Логика оценивает терапевтов на основе релевантности конкретным потребностям пользователя (например, КПТ, психоанализ) и близости, мгновенно выдавая лучшие совпадения.

3. Ежедневник и интеграция Stripe

Чтобы замкнуть цикл, я создал кастомную Систему Ежедневника (Diary System), интегрированную непосредственно в платформу.

  • Доступность в реальном времени: Терапевты управляют своими слотами в специальной панели управления.
  • Бесшовное бронирование: Пользователи могут забронировать слот прямо из результатов поиска.
  • Платежи Stripe: Я интегрировал Stripe API для обработки безопасных платежей, автоматизируя выплаты терапевтам.
// Упрощенная логика бронирования
public function bookSlot($user, $therapist, $slot) {
  Stripe::charge($user->token, $slot->price);
  $this->diary->reserve($therapist->id, $slot->time);
  return "Appointment Confirmed";
}

03. Результаты системы

Унификация превратила Welldoing.org из блога в функциональную SaaS-платформу.

  • Единый путь пользователя: Пользователи могут пройти путь от чтения статьи до подтвержденной записи менее чем за 2 минуты.
  • Генерация выручки: Автоматизированная система бронирования и оплаты создала новый поток доходов для платформы.
  • Масштабируемость: Стек October/Laravel обеспечил надежный фундамент для многолетнего роста.