Обсудить проект
Все услуги
Все услуги направления Разработка корпоративных сайтов Разработка интернет-магазинов Разработка лендингов Разработка веб-приложений и сервисов Разработка порталов и маркетплейсов Дизайн сайтов (UX/UI) Стоимость разработки сайта Разработка сайтов на WordPress Разработка сайтов на 1С-Битрикс Разработка сайтов на Tilda Разработка интернет-магазинов на OpenCart Разработка сайтов на Webflow и Shopify Разработка сайтов на React Разработка сайтов на Next.js Разработка сайтов на Vue.js и Nuxt Разработка сайтов на Angular Разработка сайтов на Laravel Разработка сайтов на Django Разработка сайтов на PHP Разработка сайтов на Python Разработка сайтов на JavaScript и TypeScript Разработка сайтов на Java Разработка сайтов на C# и .NET Разработка сайтов на Go
Все услуги направления Доработка веб-сайтов Редизайн сайта Ускорение и оптимизация сайта Миграция сайта на другую CMS Разработка новых функций и модулей для сайта Интеграции сайта с CRM, ERP и платёжными системами Технический аудит сайта Стоимость доработки сайта Доработка сайтов на WordPress Доработка сайтов на 1С-Битрикс Доработка сайтов на Tilda Доработка интернет-магазинов на OpenCart Доработка сайтов на Webflow и Shopify Доработка сайтов на React Доработка сайтов на Next.js Доработка сайтов на Vue.js и Nuxt Доработка сайтов на Angular Доработка сайтов на Laravel Доработка сайтов на Django
Все услуги направления Доработка мобильных приложений Редизайн мобильного приложения Обновление приложений под новые версии iOS и Android Рефакторинг и оптимизация кода приложений Разработка новых функций и модулей для приложения Интеграции приложений с CRM, ERP и платёжными системами Технический аудит приложения и code review Стоимость доработки приложения Доработка приложений для iOS Доработка приложений для Android Доработка приложений на Flutter Доработка приложений на React Native
Все услуги направления Сопровождение веб-сайтов Сопровождение интернет-магазинов Сопровождение мобильных приложений Сопровождение телеграм-ботов Сопровождение ботов для MAX Сопровождение ИИ-агентов Сопровождение сайтов на WordPress Сопровождение сайтов на 1С-Битрикс Сопровождение сайтов на Tilda Сопровождение интернет-магазинов на OpenCart Техническая поддержка по SLA Мониторинг и безопасность Обновления и резервное копирование DevOps и серверная инфраструктура Отчётность и аналитика Стоимость сопровождения
Все кейсы Аптеки и здравоохранение Автоуслуги и помощь на дороге SaaS и безопасность Ритейл и e-commerce Финтех и платёжные системы AI-агенты и LLM Логистика и спецтехника HealthTech
Команда Процесс и гарантии Конфигуратор Мы в СМИ Партнёры Блог Вопросы и ответы Контакты
Контакты
Обсудить проект
Аптеки и здравоохранение

Мобильное приложение «Аптека Народная»

Приложение аптечной сети для Android и iOS на Flutter: поиск лекарств, карта аптек с наличием, бронь и уведомления. Работает на том же API и тех же остатках, что и сайт.

КлиентАптека Народная, ДНР и ЛНР
ОтрасльАптеки и здравоохранение
Срок проектаС августа 2026, развиваем
УслугиПриложение Android и iOS · API · Push
Мобильное приложение «Аптека Народная»
О проекте
01

Задача

Большинство покупателей сети приходит с телефона: в сентябре 2026 года со смартфонов было 75% визитов на сайт. Им нужно было приложение, где можно за минуту найти лекарство, увидеть ближайшие аптеки с наличием и забронировать товар, а сети — свой канал для уведомлений. При этом у приложения не должно быть отдельной «копии» каталога: остатки и брони должны совпадать с сайтом и 1С.

02

Решение

Мы написали приложение на Flutter — один код для Android и iOS (около 30 тыс. строк кода) — и спроектировали для него REST API версии 1 с документацией Swagger: 54 метода для каталога, поиска, аптек, корзины, броней и профиля. Вход по звонку с подтверждением номера без паролей, карта аптек и определение города по геолокации на Яндекс Картах, сканер штрихкодов, голосовой поиск на Яндекс SpeechKit, избранное и подписка на поступление товара. Бронь проходит по той же схеме, что на сайте: наличие перепроверяется в 1С аптеки, затем бронь создаётся и ей можно управлять из приложения.

03

Итог

Покупатель оформляет бронь с телефона, продлевает срок хранения и получает push-уведомления через Firebase: заказ готов, срок брони подходит к концу, нужный товар поступил. Приложение развивается вместе с сайтом — новые функции появляются сразу в API и в обоих клиентах, а само приложение сохранило идентификатор прежнего приложения сети в RuStore, поэтому пользователи получают его как обновление.

Подробно

Что мы сделали: подробно о приложении

01

Экраны и сценарии покупателя

Приложение охватывает весь путь покупателя: онбординг, вход, главная с баннерами и товарами дня, каталог и фильтры, карточка товара, наличие по аптекам, избранное, корзина, оформление брони, «Мои заказы», профиль, подборки-аптечки, статьи и справочные страницы.

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

02

Поиск: текст, голос и штрихкод

Строка поиска доступна на главном экране и в каталоге. Запрос можно ввести текстом, продиктовать (запись отправляется на сервер и распознаётся Яндекс SpeechKit) или отсканировать штрихкод упаковки камерой телефона.

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

03

Карта аптек и геолокация

Приложение определяет город по геолокации и показывает аптеки на карте Яндекс Карт. Адреса подсказывает DaData, а любимые аптеки можно сохранить в избранное, чтобы быстро видеть в них наличие.

На карточке товара есть отдельный экран «Наличие в аптеках»: адрес, цена и остаток по каждой точке.

04

Бронь в два шага без расхождений

Оформление брони идёт в два шага. Сначала сервер проверяет наличие в 1С выбранной аптеки и выдаёт одноразовый токен на пять минут. Затем приложение подтверждает бронь именно с теми же партиями и ценами, поэтому между шагами ничего не меняется.

Заказ можно отменить, а срок хранения продлить прямо из приложения.

05

Push-уведомления на всех этапах заказа

Приложение регистрирует токен устройства в Firebase Cloud Messaging. Push приходят, когда заказ готов к выдаче, срок хранения подходит к концу или продлён, заказ отменён, после выкупа и когда ожидаемый товар поступил в аптеки.

06

Единый API и документация

Мы спроектировали REST API версии 1: 54 метода с авторизацией по токену и описанием в Swagger. Вход по звонку без пароля, лимиты на частоту запросов кода и общая логика цен, остатков и броней с сайтом делают приложение и сайт частями одной системы.

Любое изменение в правилах бронирования появляется сразу в обоих клиентах, потому что они обращаются к одному серверу.

07

Сборка и выпуск

Код общий для Android и iOS: около 30 тысяч строк на Dart в 179 файлах. Каждый коммит в рабочие ветки автоматически собирается в GitHub Actions, а готовая сборка отправляется в Telegram команде. Сборки из тестовой ветки работают с тестовым сервером, из основной — с боевым.

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

Результат

Что изменилось для бизнеса

1 код
для Android и iOS: приложение на Flutter вместо двух отдельных разработок
54
метода единого API: общие остатки, брони и каталог для сайта и приложения
Интерфейсы

Как это выглядит

Главный экран приложения: поиск, категории и товары дня Каталог приложения: категории товаров Карточка товара: цена, наличие в 19 аптеках и кнопка «В корзину» Наличие товара по аптекам с адресами, ценами и остатками
Хронология

Как шла работа

  1. Август 2026 Старт разработки: тема, навигация, каталог, карточка товара
  2. Август — сентябрь 2026 Вход по звонку, карта и геолокация, корзина и бронь, избранное, push-уведомления
  3. Сентябрь 2026 Версия 2.0: поиск голосом и по штрихкоду, продление броней, подписки на поступление
Технологии

На чём построено

Приложение
Flutter Dart Android iOS
Сервисы и SDK
Яндекс Карты MapKit Firebase Cloud Messaging Яндекс SpeechKit DaData Камера и штрихкоды
Сервер
Laravel 13 REST API v1 Sanctum Swagger 1С (HTTP API)
Выпуск
GitHub Actions RuStore Telegram
Вопросы и ответы

Вопросы о проекте: Мобильное приложение «Аптека Народная»

Часто задаваемые вопросы

Приложение написано на Flutter и работает на Android и iOS из одной кодовой базы. Это сокращает стоимость поддержки и позволяет выпускать новые функции на обеих платформах одновременно.

Приложение и сайт используют один сервер: общий каталог, цены, остатки по аптекам и правила бронирования. Данные поступают из 1С каждой аптеки, поэтому покупатель видит одно и то же в обоих каналах.

Через push-уведомления Firebase: заказ готов к выдаче, срок хранения подходит к концу или продлён, заказ отменён или выкуплен, а ожидаемый товар поступил в аптеки.

Да. Запрос можно продиктовать, и он будет распознан сервисом Яндекс SpeechKit, либо отсканировать штрихкод упаковки камерой телефона.

Вход выполняется по звонку на номер телефона без пароля: код берётся из входящего вызова. Токен хранится на устройстве, а частота запросов кода ограничена на сервере.

Обсудить похожий проект

Давайте поговорим

Расскажите о задаче — ответим в течение дня и предложим дорожную карту, сроки и бюджет.

Заявка
Источник: Кейс «Мобильное приложение «Аптека Народная»»
Заявка принята
Спасибо,

Ответим в течение рабочего дня: уточним детали и предложим дорожную карту.

Файлы cookie

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

Настройки cookie
Необходимые
Работа сайта, форм и базовая статистика посещений. Всегда включены.
Аналитика
Расширенная аналитика Яндекс Метрики: Вебвизор, карта кликов, аналитика форм.
Маркетинг
Сейчас не используется.