Кейс: сайт аптечной сети Фармленд

Здравствуйте, на связи команда Medix IT. В этом кейсе мы внимательно исследуем интернет-аптеку "Фармленд" и рассмотрим ключевые этапы ее развития.

«Фармленд» это устойчивая компания входящая в Топ-10 крупнейших аптечных сетей России, имеет более чем 2000 аптек «Фармленд» в десяти регионах страны.

Желаем вам доброго здоровьица!
Желаем вам доброго здоровьица!

Содержание:

Дизайн сайта

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

  1. Компонентный подход, интерфейс разбит на компоненты.
  2. Создание библиотеки стилей с описанием всех используемых цветов, шрифтов, размеров и отступов.
  3. Документация и руководства, которые объясняют, как использовать компоненты и стили.
  4. Регулярное обновление и аудит, периодически добавляем новые компоненты и стили и удаляем устаревшие.

Также особое внимание было уделено упрощенному и наглядному представлению акций:

  1. Баннеры о скидках и акциях размещены на выделенных и легко доступных позициях.
  2. Для каждой акции создан уникальный дизайн страницы товара.
  3. Визуализация экономии: на странице товара и в корзине наглядно отображается, сколько пользователь экономит.
  4. Доступные промокоды прозрачно представлены в личном кабинете, включая информацию о размере скидки, товарах, участвующих в акции, и сроке ее действия.
  5. Ярлыки на карточках товаров используются для выделения акций в каталоге и результатах поиска.
  6. Создан отдельный раздел, где собраны все текущие предложения.
  7. Возможность допродаж в корзине позволяет клиентам быстро воспользоваться специальными предложениями всего в один клик.
Кейс: сайт аптечной сети Фармленд

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

Кейс: сайт аптечной сети Фармленд

Синхронизация остатков

Управление остатками в сети аптек "Фармленд" имеет свою специфику, обусловленную особенностями бизнес-модели и логистики. В каждой аптеке регистрируются остатки лекарственных препаратов с учетом их партий, что может приводить к различиям в ценах на один и тот же препарат в разных точках продажи. Кроме того, даже в пределах одной аптеки цена может быть разной в зависимости от партии. При этом количество остатков постоянно изменяется, товары могут быть куплены как через онлайн-платформу, так и непосредственно в аптеке.

Кейс: сайт аптечной сети Фармленд

При такой структуре были решены следующие задачи:

  • Быстрая загрузка каталога и карточек товаров.
    У товаров нет фиксированных цен, поэтому нужно отображать на карточке товара минимальную цену из всех аптек по городу. Для этого мы используем промежуточные таблицы, которые позволяют рассчитать минимальную стоимость товара по всем доступным аптекам в данном городе.
Кейс: сайт аптечной сети Фармленд
  • Быстрый поиск в нужной аптеке.
    У аптечной сети "Фармленд" более 2000 аптек, и для обеспечения быстрого поиска лекарств мы добавили функционал "Любимые аптеки". Этот функционал позволяет отображать "Любимые аптеки" первыми. Кроме того, мы внедрили фильтрацию по аптекам, что позволяет пользователям легко находить товары в наличии в конкретной аптеке.
Кейс: сайт аптечной сети Фармленд
  • Карта наличия товаров.
    Для выбора наиболее выгодного предложения у пользователей есть возможность воспользоваться картой, на которой отображаются товары с указанием количества остатков и цен. Это позволяет выбрать удобное местоположение аптеки, ближайшее к дому или офису, и сравнить цены на товары.
    Польза такой структуры заключается в возможности сравнивать цены на товары в разных аптеках и выбирать наиболее выгодный вариант. Это позволяет покупателям находить доступные цены на лекарства. Учитывая обширность сети “Фармленд”, несколько аптек могут находиться в соседних кварталах.
  • Нагрузка на сервер.
    Постоянные операции записи и обновления остатков и цен в базе данных создают значительную нагрузку на сервер. С учетом высокой посещаемости, особенно во время акций и маркетинговых рассылок, это может привести к сбоям в работе сервера. Для решения этой проблемы мы внедрили «Сервис остатков» - все операции, связанные с остатками и пересчетом цен, выполняются на отдельном сервере.

Умный поиск товаров

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

Другая особенность поиска для аптек - поиск по наименованию лекарственных препаратов с исправлением опечаток. Названия многих лекарств могут быть сложными, содержать медицинские термины или быть длинными и труднопроизносимыми.

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

  1. Обработка большого объема данных: В Elasticsearch индексированы более 200 000 наименований, что обеспечивает быстрый поиск запросов. Каждый день добавляются новые товары и индекс регулярно обновляется.
  2. Анализ текста: Elasticsearch предоставляет средства анализа текста, что позволяет учесть различные формы написания и синонимы.
  3. Ранжирование результатов: Наиболее релевантные товары отображаются в начале списка поисковой выдачи.
  4. Подсказки и автозаполнение: Основываясь на введенном тексте, предоставляются подсказки и автозаполнение.
  5. Фильтры и категории: Пользователи могут уточнять результаты поиска с помощью фильтров по категориям, ценам, брендам и другим параметрам.
  6. Мониторинг и оптимизация: Мы внимательно отслеживаем запросы пользователей не только для анализа результатов маркетинговых стратегий, но и для оптимизации поиска.
Кейс: сайт аптечной сети Фармленд

Такой подход с использованием Elasticsearch позволил создать мощный и эффективный поисковой механизм, который значительно улучшает опыт пользователей в интернет-аптеке.

Оформление заказа

Оформление заказа один из важнейших этапов взаимодействия с интернет-аптекой. Сложности на этом этапе могут отпугнуть пользователя и заставить его покинуть сайт.

Для максимально удобного оформления заказа мы реализовали:

  • Выбор аптеки: Возможность оформить заказ в нескольких аптеках сразу. Мы предоставляем возможность выбора местоположения, а также настроили синхронизацию остатков и заказов между аптеками и сайтом. Это означает, что после оформления заказа выбранные позиции становятся недоступными для других пользователей, и заказ немедленно направляется в одну или несколько аптек для обработки.
Кейс: сайт аптечной сети Фармленд
  • Допродажи и промокоды: На этапе корзины реализованы механизмы допродаж, которые позволяют получить дополнительные предложения о товарах, связанных с заказом, например подарки. Также есть возможность ввода промокодов, которые могут предоставлять скидки или бонусы. Более подробно об этом можно узнать в разделе "Программа лояльности".
Кейс: сайт аптечной сети Фармленд
  • Отслеживание статуса заказа: После успешного оформления заказа вы можете легко отслеживать его статус. Это можно сделать в личном кабинете на сайте или через уведомления по SMS. Для пользователей мобильной версии мы также предоставляем короткую ссылку, по которой можно моментально проверить статус заказа.
  • Сохранение корзины в личном кабинете. Можно авторизоваться на другом устройстве и продолжить оформление заказа с того, на чем остановились.
  • Забытые корзины. Эти данные включают в себя информацию о товарах, которые пользователи добавили в корзину, но не завершили процесс оформления заказа. Эта информация используется для стимулирования завершения покупки.

Наши усилия направлены на то, чтобы сделать процесс оформления заказа максимально простым, удобным и информативным.

Личный кабинет

Личный кабинет в первой версии сайта интернет-аптеки “Фармленд” представлял из себя минимум функционала - авторизация по логину и паролю и хранение истории заказов.

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

Авторизация

Процедура авторизации в личном кабинете постоянно совершенствуется, и мы активно внедряем новые методы.

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

Далее мы внедрили авторизацию по коду, отправляемому в SMS-сообщении. Этот метод считается наиболее надежным и по-прежнему актуален. Однако с увеличением числа пользователей росли и расходы на SMS-сообщения. В связи с этим мы разработали альтернативные и более экономные методы авторизации:

  • Сброс-звонок: При использовании этого метода пользователь вводит последние 4 цифры входящего номера телефона.
  • Голосовой пароль: Пользователю необходимо ответить на звонок, прослушать код и ввести его в соответствующее поле.
  • Авторизация через телеграм бота.

Использование комбинации нескольких методов авторизации позволяет снизить расходы на SMS-сообщения или звонки, при этом не ущемляя удобство пользования сайтом.

Кейс: сайт аптечной сети Фармленд

История заказов

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

  • Принят: Этот статус присваивается заказу сразу после его оформления.
  • Готов: Фармацевт в аптеке устанавливает статус "Готов" после сбора заказа. Обычно этот процесс занимает около 10 минут в рабочее время.
  • Не все товары в наличии: Если некоторых товаров нет в наличии, то заказу присваивается статус "Не все товары в наличии".
  • Выкуплен: После того как заказ был успешно выкуплен, его статус изменяется на "Выкуплен".
  • Аннулирован: В случае, если заказ по каким-либо причинам не был выкуплен, его статус меняется на "Аннулирован".

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

Персонализация

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

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

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

Сбор и хранение статистики

Неотъемлемую часть сервиса составляет сбор обширного объема статистических данных. Эти данные играют важную роль в улучшении пользовательского опыта, оптимизации маркетинговых стратегий и рекламных кампаний, а также в формировании отчетов для торговых представителей.

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

Для эффективного хранения и обработки этого объема данных мы используем ClickHouse, который размещен на выделенном сервере. Каждую ночь мы переносим данные из основной базы данных в ClickHouse. Этот подход позволяет нам хранить и обрабатывать большие объемы информации без перегрузки основного сервера.

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

Разработка программы лояльности

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

Программа лояльности включает в себя использование клубных карт, которые предоставляют скидки как при онлайн, так и при оффлайн покупках. Пользователи имеют возможность накапливать баллы за свои покупки, которые впоследствии могут быть использованы в сети аптек "Фармленд". Кроме того, клубные карты предоставляют скидки, причем размер скидки увеличивается по мере увеличения суммы покупок.

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

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

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

Кейс: сайт аптечной сети Фармленд

Оптимизация под высокие нагрузки

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

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

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

Дополнительно мы используем механизм микросервисов. Это позволяет нам разделить функционал на небольшие независимые компоненты, что облегчает масштабирование и обеспечивает более гибкую настройку ресурсов в зависимости от текущей нагрузки.

Такая систематическая оптимизация позволяет повысить производительность и отзывчивость сайта, а также снизить нагрузку на сервер, что важно для обеспечения плавной работы даже в периоды пиковой активности пользователей.

Интерфейс для справки и технической поддержки

Портал обладает развитой системой ERP (Enterprise Resource Planning) для эффективного управления платформой, анализа данных и доступа к информации. В данной статье мы ограничимся обсуждением интерфейса технической поддержки, потому что весь объем возможностей ERP-системы невозможно охватить в одной статье.

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

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

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

Кейс: сайт аптечной сети Фармленд

Технологический стек проекта

Технологический стек проекта включает в себя следующие компоненты:

  1. Backend (Серверная часть):
    — Yii2: Фреймворк, используемый для разработки серверной части приложения.
    — MySQL: Основная база данных, используемая для хранения информации о приложении.
    — MongoDB: База данных, используемая для хранения части статистических данных.
    — ClickHouse: База данных, используемая для хранения статистических данных.
    — Очереди (yii\queue\db): Используются для формирования отчетов и других задач.
    — Qurator: Используется для защиты от парсинга и DDoS-атак.
  2. Frontend (Клиентская часть):
    — HTML: Отвечает за визуальное представление пользовательского интерфейса.
    — JavaScript: Используется для создания модальных окон и другой интерактивности.
    — AJAX-запросы: Позволяют подгружать данные без перезагрузки страницы.
    — CDN: Используется для хранения и доставки изображений и файлов.
    — LazyLoad для JavaScript и CSS: Позволяет плавно подгружать изображения и стили.
  3. Поиск:
    — Elasticsearch: Используется для обеспечения мощного и быстрого поиска.
  4. Библиотеки и инструменты:
    — DeviceDetect: Используется для определения, с какого устройства пользователь посещает сайт (мобильное или десктопное).
    — EasyThumbnail: Используется для обрезки и манипуляций с изображениями.
    — UniBell: Используется для реализации функционала "сброс звонка".
    — reCAPTCHA: Используется для защиты от ботов и спама.
  5. Мониторинг и анализ:
    — Grafana: Используется для мониторинга нагрузки на сервер и анализа данных.

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

Разработка мобильных приложений

Помимо создания веб-сайта для интернет-аптеки "Фармленд", мы разработали нативные мобильные приложения для iOS и Android, что обеспечило единую и удобную экосистему для пользователей.

Главным приоритетом компании “Фармленд” является миграция пользователей с веб-сайта в мобильные приложения. Эта стратегия была успешно реализована, в 2023 году число пользователей мобильной версии сократилось благодаря переходу пользователей в мобильные приложения.

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

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

Кейс: сайт аптечной сети Фармленд

Поддержка и развитие

Мы предоставляем техническую поддержку по серверной и программной части в соответствии с установленными стандартами уровня обслуживания (SLA). Это включает в себя оперативное реагирование на возникающие проблемы и их решение.

Также следуем методологии Scrum Agile при разработке и развитии проекта. Это позволяет нам гибко адаптироваться к изменяющимся требованиям рынка. Разработка нового функционала и доработка существующего осуществляются на основе приоритетов, установленных бизнес-задачами и потребностями пользователей.

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

Кейс: сайт аптечной сети Фармленд

Онлайн-ритейл продолжает развиваться и перспективен благодаря технологическим инновациям, персонализации и расширению ассортимента товаров и услуг.

Для дальнейшего развития проекта мы выделили следующие ключевые направления:

  • Внедрение и использование искусственного интеллекта (ИИ) для улучшения справочного центра, консультирования пользователей, предоставления подробных описаний для медицинских препаратов и других товаров.
  • Развитие и оптимизация программы лояльности, чтобы сделать ее максимально бесшовной для онлайн и оффлайн покупателей.
  • Использование возможностей телеграм-бота, расширение его функционала, чтобы обеспечивать удобное взаимодействие с пользователями.
  • Развитие и расширение методов и каналов уведомлений и рассылок для клиентов.
  • Расширение ритейла в сторону других категорий товаров.
  • Работа по другим направлениям.

Такие шаги позволят нам продолжить развитие и обеспечивать высокий уровень обслуживания клиентов.

Награды

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

  • 3-е место в номинации "Лучшее FMCG-приложение" на Tagline Awards.
  • 11-е место в рейтинге по объему онлайн продаж RNC Pharma.
  • 37-е место в рейтинге опыта взаимодействия с технологиями в Onmi Retail Rating.

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

Кейс: сайт аптечной сети Фармленд

Команда разработки

  • Антон Глушков - Генеральный директор
  • Тагир Фахретдинов - Финансовый директор
  • Снежана Аюпова - Аккаунт-менеджер / руководитель команды разработки
  • Александр Симагин - менеджер-проекта, интернет-маркетолог
  • Сергей Зырянов - бекенд-разработчик, тимлид
  • Денис Грачев - бекенд-разработчик, Android-разработчик
  • Артур Ямалиев - фулстек-разработчик
  • Салават Нургалеев - бекенд-разработчик
  • Денис Челпанов - бекенд-разработчик
  • Алексей Онипко - бекенд-разработчик
  • Илья Якимов - IOS-разработчик
  • Кирилл Желобецкий - фронтенд-разработчик
  • Анастасия Савельева - тестирование

Заключение

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

Если вас интересуют дополнительные детали о функциях, описанных в статье, задавайте вопросы в комментариях. Это поможет нам определить, о каких темах вам хотелось бы узнать подробнее, и подготовить соответствующие материалы.

Следите за обновлениями, чтобы быть в курсе всех новостей и узнавать больше о нашей работе!

КЕЙС НА НАШЕМ САЙТЕ —> https://medix-it.ru/farmlend

ПОСМОТРЕТЬ САЙТ —> https://farmlend.ru/

Контакты

Если у вас есть запросы по разработке сложных и высоконагруженных интернет-магазинов или вы хотите обсудить доработки на существующем - свяжитесь с нами удобным для вас способом.

44
Начать дискуссию