ОАО «Амурфармация»
Медицина и ветеринария
Россия, Благовещенск
iOS, Android
Сентябрь 2024
«Амурфармация» — одна из крупнейших аптечных сетей Дальнего Востока: 90+ аптек в 34 городах и собственный сайт, который мы запустили для них ещё в 2022 году. Теперь очередь дошла до мобильного приложения — и мы сделали его таким же удобным и современным, как и сайт.
На старте нам было нужно:
1. Сделать удобное мобильное приложение для заказов вместо адаптивного сайта.
2. Обеспечить простоту интерфейса, быструю работу и логичную структуру каталога.
3. Сохранить узнаваемый дизайн и синхронизацию с ERP, сайтом, 1С и MindBox.
4. Реализовать кроссплатформенность (Android, iOS, Huawei) и публикацию в RuStore.
5. Продумать корзину и оформление заказа с учётом сложной бизнес-логики и разных цен.
6. Внедрить поиск, оплату, промокоды и пуш-уведомления.
1. Разработали кроссплатформенное приложение на React Native и запустили его в Google Play, App Store и RuStore.
2. Перенесли ключевую логику сайта в мобильный формат, сохранив синхронизацию с ERP, 1С и внешними сервисами.
3. Оптимизировали корзину и процесс оформления заказа, упростив путь пользователя до двух шагов.
4. Реализовали быстрый поиск и интеграцию с ЮKassa для удобной оплаты.
5. Настроили пуш-уведомления и систему мобильных цен, чтобы стимулировать установки и удержание пользователей.
Перед запуском приложения мы снова провели аналитику и уточнили портрет аудитории: люди 25–55 лет, регулярно заказывающие лекарства. Для них важны три вещи — простой поиск и заказ, удобный выбор аптеки и быстрые уведомления.
Поэтому в приоритете были: простота интерфейса, логичная структура каталога и высокая скорость работы. Плюс — узнаваемый дизайн в духе сайта, синхронность с ERP, 1С и MindBox, кроссплатформенность и публикация в RuStore.
В итоге ключевую логику сайта мы перенесли в мобильное приложение, адаптировав её под новые сценарии.
Начали с логики: продумали главный экран, разделы и путь пользователя от поиска до оформления заказа. В карточках товаров добавили блоки «Вместе покупают» и «Похожие товары», чтобы увеличить средний чек, а оформление заказа сократили до двух шагов — просто и без лишних кликов.
Дизайн сделали чистым и минималистичным: никаких лишних акций и баннеров, только то, что действительно нужно. По просьбе заказчика добавили «волнистые» линии как отсылку к морю — этот элемент позже перекочевал и в оформление офлайн-аптек. Изюминкой стала загрузочная страница со штрих-кодом бонусной программы: его можно показать в аптеке даже без интернета.
Для приложения мы выбрали React Native — кроссплатформенный фреймворк, который позволяет поддерживать одну кодовую базу сразу для iOS и Android. Такой подход заметно экономит время и бюджет, ведь разработка двух отдельных нативных приложений обошлась бы вдвое дороже.
Логику мы не писали с нуля: она уже была обкатана на сайте. Поэтому мобильное приложение работает на том же бэкенде, что и сайт, с общей админкой и интеграциями с ERP, 1С и MindBox. Чтобы аккуратно «сшить» фронтенд и готовый бэкенд, мы написали более 120 REST-методов.
Каждый экран приложения получает только нужные данные через REST-эндпоинты — это ускоряет загрузку, снижает нагрузку и позволяет легко кешировать информацию. Такой подход сделал интеграцию бизнес-логики и интерфейса максимально быстрой и удобной.
Самая непростая часть приложения — корзина. Здесь сходятся все особенности бизнес-логики: разные цены в зависимости от способа покупки (сразу или через удалённый склад), акции, бонусы, аналоги товаров и нюансы работы 90+ аптек сети. В сумме это почти три миллиона цен, которые пересчитываются ежесекундно.
Чтобы не запутать пользователя, мы упростили интерфейс: оставили только нужные элементы, заменили длинные пояснения иконками, аккуратно поработали с цветом и типографикой. Главная цель — не превратить карточку товара в бухгалтерскую таблицу, а сделать её читаемой и понятной.
Дополнительно для мобильного приложения мы ввели две эксклюзивные цены — обычную и акционную. Это стало способом простимулировать покупателей устанавливать приложение и пользоваться им: в приложении покупать выгоднее.
В итоге сложная логика распределения цен и скидок сохранилась, но пользовательский путь стал простым и интуитивным.
Поиск — ключевая функция приложения, ведь листать каталог в поисках нужного лекарства никто не будет. Мы сделали его максимально быстрым и удобным: на старте подключили AnyQuery, чтобы повысить релевантность результатов, а для поиска по заказам использовали Elasticsearch.
В результате пользователь может искать не только препараты, но и свои прошлые заказы — по дате, номеру, названию товара или аптеке оформления. Для этого мы создали отдельный индекс заказов и настроили многоступенчатый поиск.
Это решение настолько хорошо себя показало в мобильном приложении, что позже мы перенесли его и на сайт. Теперь найти нужный препарат или заказ можно за секунды, без лишних шагов и раздражающих задержек.
Мы знали: ничто так не раздражает пользователя, как сложная авторизация и необходимость снова вводить логин и пароль после обновления приложения. Поэтому сделали всё максимально просто — вход по номеру телефона или через соцсети.
Чтобы это работало удобно, реализовали «умные» диплинки. Сценарий такой: при авторизации через соцсеть пользователь открывает браузер, проходит стандартный вход, а затем получает диплинк с токеном, который автоматически возвращает его в приложение уже авторизованным.
Так мы повторно используем готовую логику сайта, но без лишних шагов для пользователя. Вход занимает минимум времени и не вызывает раздражения — именно так и должна работать современная авторизация.
Мы добавили в приложение генерацию промокодов по шаблону прямо из админки — инструмент, который так понравился заказчику на сайте, что он попросил реализовать его и в мобильной версии. Вместе с этим расширили бонусную систему и логику корзины: теперь учитывается источник заказа (приложение, аптека, удалённый склад), а акции и скидки применяются по гибким правилам.

При разработке выяснилось, что стандартный битриксовый фильтр не выдерживает нагрузку мобильного каталога. Мы перенесли его на Elasticsearch и сделали «поэкранным»: сначала показываются параметры, а глубже — варианты значений. Плюс добавили быстрые фильтры в виде плашек — одним нажатием пользователь получает нужный результат. В итоге каталог стал работать в 6 раз быстрее.
Для оплаты интегрировали ЮKassa, но так как готового модуля для React Native не существовало, собрали свой SDK. На Android доработки сделали на Kotlin, на iOS — на Swift и Objective-C, добавив поддержку карт «Мир» и СберПэй, а также сканирование карт и сохранение платёжных данных. Теперь процесс оплаты в приложении быстрый, привычный и безопасный.
Для аптечной сети пуши — не просто напоминания, а реальный инструмент продаж и сервиса. Мы сделали их максимально гибкими: они могут быть сервисными, рекламными, с кнопками и действиями внутри. Отправка идёт напрямую из админки Битрикса, где данные поступают из 1С — можно разослать всем или выбрать отдельные сегменты.
Мы внедрили и «тихие» пуши — они не видны пользователю, но автоматически обновляют список и статус заказов на главном экране. Так приложение всегда показывает актуальные данные без лишних движений.
Для обычных пушей добавили настраиваемые действия: переход к конкретному заказу, категории или подборке каталога. Если уведомление не дошло, оно дублируется в СМС — пользователь точно ничего не пропустит. А в настройках можно включить только важные сообщения и отключить второстепенные.
Залить приложение в сторы оказалось не самым простым квестом. Google и Apple традиционно требовали доказательств: что мы предупреждаем пользователей о рисках самолечения, имеем лицензии на торговлю лекарствами и работаем строго по закону. Пришлось собирать документы, прикладывать скриншоты, даже доказывать, что авторизация через Яндекс действительно работает.
Переписка растянулась на три недели, но в итоге приложение успешно появилось в Google Play, App Store и RuStore. Для «Амурфармации» это стало важным шагом — теперь у сети есть полноценное мобильное приложение, доступное на всех ключевых платформах, несмотря на сложные условия рынка.
Сделали для «Амурфармации» кроссплатформенное приложение на React Native, которое упростило процесс заказа и вывело сервис на уровень федеральных конкурентов. В нём — быстрый поиск, удобная корзина с учётом сложной бизнес-логики, промокоды, бонусы, оплата через ЮKassa и гибкие пуш-уведомления. Приложение прошло непростой путь публикации и теперь доступно в Google Play, App Store и RuStore, помогая сети оставаться лидером в регионе.