Кейс · Ритейл премиум-техники · 2025–2026

Fonyx — цифровая платформа для масштабирования сети магазинов техники

Построили полную e-commerce экосистему: от онлайн-витрины и мобильных приложений до внутренней системы сборки и доставки заказов — с архитектурой, готовой к запуску в 10+ городах без единой правки кода.

6продуктов
15+интеграций
10специалистов
12мес. разработки
Главная страница Fonyx Каталог товаров Fonyx
01 · О компании

Fonyx — сеть магазинов премиальной электроники

О бизнесе

Fonyx (ранее Горбушка) — розничная сеть, специализирующаяся на продаже премиальной электроники: Apple, Samsung, Sony, Dyson, Marshall и другие топ-бренды. Базовый магазин расположен в Москве, стратегия — масштабирование на всю Россию через онлайн-первый подход.

11 категорий товаров: смартфоны, наушники, ПК и ноутбуки, планшеты, часы, бытовая техника, игровые приставки, гаджеты для спорта и здоровья, аудио и видео, уход и красота, аксессуары. Свыше 50 подкатегорий, 20+ партнёрских брендов.

Задача для Comrades Devs

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

Ключевое требование: архитектура с нуля спроектирована для мультигорода. Один магазин в Москве, но завтра — 10 магазинов в 10 городах. Без рефакторинга, без отдельных деплоев, без переписывания бизнес-логики.

Боли до проекта

Отсутствие онлайн-продаж — бизнес работал только офлайн, упуская 70%+ аудитории, которая ищет технику в интернете
Масштабирование через офлайн: открытие одного магазина — это 3-6 месяцев поиска помещения, ремонта, логистики, найма. Каждый город — с нуля
Ручное управление каталогом: данные о товарах, ценах и остатках разбросаны между 1С и Excel-файлами, нет автоматической синхронизации
Нет системы сборки и доставки: при попытках продавать онлайн всё координируется через мессенджеры и звонки — ошибки, потери, задержки
Нет программы лояльности и trade-in: клиенты уходят к конкурентам, у которых есть бонусы и возможность обменять старое устройство
Нет мобильного присутствия: нет ни клиентского, ни сотруднического приложения — в 2025 году это критический разрыв с аудиторией
02 · Процесс работы

Шесть этапов: от аудита до запуска

1

Аудит и проектирование

Погружение в бизнес, карта сервисов, архитектурные решения для мультигорода

2

UX/UI дизайн

Витрина, ЛК, админка, мобильные приложения — единый визуальный язык

3

Бэкенд и интеграции

Микросервисы, GraphQL/REST API, подключение 15+ внешних систем

6

Запуск и масштабирование

Продакшен, мониторинг, подготовка к мультигороду

5

Тестирование и QA

Нагрузочное тестирование, E2E, проверка всех бизнес-процессов

4

Фронтенд и мобильные

Nuxt 3 витрина, Vue 3 админка, два Flutter-приложения

03 · Архитектура платформы

Микросервисная архитектура для масштабирования без границ

Первое решение, определившее весь проект: отказ от монолита. Платформа Fonyx — это 7 бэкенд-сервисов, каждый отвечает за свою бизнес-область: каталог, заказы, доставка, личный кабинет, импорт из 1С, контент лендинга и админ-панель. Все сервисы общаются через единую точку входа (Nginx :8080) и работают с общей базой данных MySQL 8.

🏗

7 микросервисов

Каталог, заказы, доставка, ЛК, импорт, лендинг, админка — каждый сервис изолирован и масштабируется независимо

🔗

Единая маршрутизация

Nginx проксирует запросы по URL-паттернам: /graphql-purchase → заказы, /graphql-delivery → доставка, /* → каталог

🌍

Мультигород из коробки

Магазины, зоны доставки, слоты, сотрудники — всё привязано к shop_id. Новый город = новый магазин в админке

🔄

Синхронизация с 1С

Автоматический импорт каталога: 1С → S3 → парсинг XML → промежуточные таблицы → основной каталог

💳

3 платёжных шлюза

Tinkoff, Сбербанк и ЮKassa подключены параллельно — гибкость в выборе для каждого региона

📦

CDEK + зонирование

Полная интеграция с CDEK: ПВЗ, тарифы, трекинг. Плюс собственные зоны доставки с ray-casting алгоритмом

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

Laravel 9/10 Bagisto Nuxt 3 Vue 3 Flutter 3.6/3.7 MySQL 8 OpenSearch Elasticsearch Redis Docker Nginx GraphQL REST API Sanctum Spatie RBAC Tailwind CSS Apollo BLoC Dart Vite

✓ Результат этапа

Спроектирована микросервисная архитектура из 7 бэкендов + Bagisto-ядро, единый Nginx-маршрутизатор, Docker-оркестрация. Система готова к горизонтальному масштабированию: добавление нового магазина в новом городе — задача на 15 минут в админ-панели, а не на 3 месяца работы разработчиков.

04 · Онлайн-витрина

B2C-платформа: каталог, корзина, оплата, бонусы

Витрина fonyx.store построена на Nuxt 3 с Tailwind CSS — быстрая, адаптивная, SEO-оптимизированная. Полный цикл покупки: от просмотра каталога до оплаты через Tinkoff. Бонусная программа мотивирует к повторным покупкам: +1000 бонусов за регистрацию, начисление бонусов за каждый заказ.

Каталог и поиск

11 верхнеуровневых категорий, 50+ подкатегорий. Полнотекстовый поиск через OpenSearch с автоподсказками. Фильтрация по атрибутам, сортировка по популярности. Lazy-load пагинация — «Ещё N товаров».

Карточка товара: галерея до 6 фото, варианты (цвет, память, SIM), rich-контент с разбивкой по разделам (дисплей, камера, процессор), табы с описанием, характеристиками, доставкой, оплатой и гарантией.

Корзина и checkout

Корзина привязана к одному магазину — при добавлении товара из другого магазина корзина автоматически очищается (бизнес-правило для корректной сборки). Полный checkout: адрес → способ доставки → способ оплаты → заказ. Оплата через Tinkoff с callback-подтверждением.

Подарочная упаковка как опция при оформлении. Промокоды с трекингом использования.

✓ Результат этапа

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

05 · Личный кабинет и авторизация

Авторизация, профиль, бонусы, избранное

Личный кабинет — полноценный хаб клиента. Авторизация по телефону (SMS/звонок через SmsAero и Telefon IP) или через OAuth (Google, Apple, VK). Sanctum-токены для безопасных сессий.

Профиль и данные

ФИО, дата рождения, телефон, email, адреса доставки. Управление банковскими картами для рекуррентных платежей через ЮKassa. Настройки уведомлений: push о заказах, email-рассылки, SMS-рассылки — каждый канал включается отдельно.

Бонусы и избранное

Интеграция с программой лояльности Loya: баланс бонусов, история начислений и списаний. 1000 бонусов за регистрацию. Избранное с сохранением между сессиями для авторизованных пользователей. Раздел «Вы смотрели» с историей просмотров.

Личный кабинет — профиль
Личный кабинет с просмотренными товарами
Избранное
Панель «Избранное» с возможностью добавить в корзину

✓ Результат этапа

Клиент получает полноценный кабинет с историей заказов, бонусным балансом, адресами доставки и настройками. Авторизация занимает 30 секунд — звонок с кодом на телефон.

06 · Система сборки и доставки

Мобильное приложение для сотрудников: сборщики и курьеры

Ключевое отличие Fonyx от обычного интернет-магазина — встроенная операционная система для сборки и доставки заказов. Flutter-приложение для сотрудников покрывает весь цикл: от получения заказа на сборку до подтверждения передачи клиенту. Спроектировано для масштабирования: каждый сотрудник привязан к конкретному магазину и видит только свои заказы.

Сборщик — полный цикл сборки заказа

Верификация при входе

Логин + пароль → Selfie Check (фронтальная камера, овальная рамка). 3 неудачных попытки = блокировка. Передача аккаунта другому человеку исключена.

Список заказов на сегодня

Только текущий день, сортировка по слотам. Просроченные подсвечиваются красным, бейдж NEW для новых. Лимит — не более 3 заказов одновременно. Три вкладки: Собрать / Уточнить / Собрано.

Сканирование штрих-кодов

Камера → QR/штрих-код → проверка совпадения. Если не совпал — «Это другой товар». Если не читается — ввод артикула вручную. Каждый товар: подтвердить / отменить / уточнить / заменить.

Уточнение и замена

Если товара нет на полке — до 3 вариантов замены, звонок клиенту прямо из приложения. Клиент выбирает замену или отказывается. Фиксация причины отмены: нет в наличии / клиент отказался / испорчен.

Завершение сборки

Упаковка в пакеты, пересчёт суммы (с учётом замен и отмен), обновление статуса → ORDER_ASSEMBLED. Автоматическое уведомление клиента.

Курьер — доставка и выдача

Забор из магазина

Вкладка «Собрано» — заказы, готовые к забору. Карточка: номер, количество товаров, расстояние в км, временной слот. Кнопка «Взять на доставку» → «Еду на доставку».

В пути с картой

Карта с маршрутом, адрес доставки, кнопка «Позвонить» клиенту. Все точки на карте, приоритет маршрута курьер определяет самостоятельно.

Выдача и оплата

Адрес, подъезд, этаж, домофон. Если не оплачен — наличные или терминал. Частичный возврат на месте: выбор позиций → причина → подтверждение → автовозврат на карту (1-5 рабочих дней).

Статусы заказа — полный жизненный цикл

1

ORDER_CREATED → Заказ создан

Клиент оплатил, purchase_back уведомил delivery_back

2

ORDER_PREPARING → В сборке

Сборщик нажал «Начать сборку», создан Assembly + AssemblyItems

3

ORDER_ASSEMBLED → Собран

Все товары подтверждены/заменены, пакеты сформированы, сумма пересчитана

4

ORDER_IN_DELIVERY → В доставке

Курьер нажал «Еду на доставку», started_at = now

5

ORDER_FINISHED → Доставлен

Курьер подтвердил передачу, delivery.finished_at = now, клиент уведомлён

✓ Результат этапа

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

07 · Дополнительные продукты

Trade-in, сервис, блог, CRM

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

Trade-in

Полноценная страница /tradein с формой заявки: ФИО, телефон, загрузка до 8 фотографий устройства. Принимаются смартфоны, часы, планшеты, ноутбуки Apple. Оценка устройства — менеджером после получения заявки. Реализовано через пакет TradeIn в Bagisto.

Сервисный центр

Заявленный сервис: выездной ремонт, замена под гарантию до 45 дней, телефон на замену на время ремонта. FAQ с описанием процессов уже на сайте. Приложение для отслеживания статуса ремонта — в разработке. Срок ремонта: 1 день (до 5 дней в сложных случаях).

Страница сервиса Fonyx
Страница сервисного центра с FAQ
О компании Fonyx
Страница «О компании» с партнёрами

Блог

Активный раздел /blog: 6+ статей за 2025–2026 год. Обзоры новинок Apple, iOS, macOS. Управление через GraphQL-сервис gorbushka_landing_back. Контент поддерживает SEO и привлекает органический трафик.

CRM-система

Krayin CRM на отдельной базе данных: лиды, контакты, организации, активности, пайплайны. Полный цикл управления клиентской базой для отдела продаж и поддержки.

✓ Результат этапа

Fonyx — не просто интернет-магазин, а экосистема: покупка → бонусы → trade-in → покупка нового → сервис → снова бонусы. Каждый контакт с клиентом работает на удержание и повторную покупку.

08 · Масштабирование

Архитектура для 10+ городов с первого дня

Это не последний этап разработки, а первое проектное решение. Вся система с нуля строилась вокруг вопроса: «Как открыть магазин в новом городе за 1 день, а не за 3 месяца?». Ответ зашит в каждом компоненте платформы.

15 минут на добавление нового города в систему
0 строк кода на изменение при открытии нового магазина
10+ городов одновременно — без отдельных деплоев

Как это работает

🏪 Мульти-магазин

Каждый магазин (shops) — отдельная сущность с адресом, координатами, расписанием, слотами доставки, зонами. Новый город = новая запись в таблице shops + настройка зон доставки (zone_coordinates — полигоны на карте). Каталог, клиенты, заказы — общие. Остатки и цены — привязаны к shop_id.

🗺 Зоны доставки

Для каждого магазина создаются полигональные зоны доставки: администратор рисует на карте, система сохраняет координаты. При заказе — ray-casting алгоритм (GeoPHP) определяет, в какую зону попадает адрес клиента и к какому магазину он привязан. UpdateDeliveryZonesJob автоматически обновляет привязки.

👤 Привязка сотрудников

Администратор указывает, к какому магазину относится каждый сборщик и курьер. Сотрудник видит только заказы своего магазина. Заказы из других городов недоступны. Если в сети 10 точек — 10 изолированных очередей заказов.

🚀 Онлайн-первый запуск

Традиционный ритейл: поиск помещения → ремонт → закупка оборудования → найм → открытие = 3-6 месяцев и миллионы рублей. С системой Fonyx: создать магазин в админке → настроить зоны → нанять 2-3 сборщика/курьера → запустить маркетинг = 1-2 недели. Физический магазин может появиться позже — когда в городе уже есть база клиентов и понятен спрос.

✓ Результат этапа

Система стирает главное ограничение офлайн-ритейла — привязку к физической точке. Fonyx может начать продавать в 10 городах уже в первый месяц: арендовать склад, нанять сборщиков и курьеров, запустить маркетинг. Физический магазин с ремонтом и витринами — когда подтверждён спрос, а не наоборот.

6продуктов в экосистеме
15+внешних интеграций
5платформ (Web, iOS, Android, Admin, CRM)
7микросервисов бэкенда
Итоги проекта

Что получил Fonyx

100%

Автоматизация операций: от заказа до доставки — без ручной координации через мессенджеры и звонки. Каждый статус заказа фиксируется, каждый сотрудник видит свою задачу в приложении.

10+

Городов можно подключить без единой строки кода. Новый магазин = 15 минут в админ-панели + настройка зон доставки. Система масштабируется горизонтально.

3→0

Месяцев сокращено на запуск в новом городе. Вместо поиска помещения, ремонта и закупки — арендовать склад, нанять людей, включить маркетинг. Продажи с первого дня.

15+

Интеграций с внешними сервисами: 3 платёжных шлюза, CDEK, 1С ERP, Firebase, OneSignal, OAuth-провайдеры, Яндекс Карты, DaData, Sentry, Loya и другие.

Что получают покупатели

🛒

Полный online-шопинг

Каталог, поиск, фильтры, варианты товаров, корзина, оплата — полный цикл без посещения магазина

💎

Бонусная программа

1000 бонусов за регистрацию, начисление за каждую покупку, интеграция с Loya

📱

Мобильное приложение

Flutter-приложение: каталог, заказы, push-уведомления, отслеживание статуса

🔄

Trade-in

Обменять старое устройство Apple на скидку — заявка с фото прямо на сайте

🔔

Уведомления о заказе

Push через Firebase на каждом этапе: принят, собирается, в доставке, доставлен

🔧

Сервис и гарантия

1 год гарантии, выездной ремонт, телефон на замену, отслеживание статуса ремонта

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

✗ До проекта

  • Только офлайн-продажи в одном магазине
  • Каталог в 1С и Excel, без синхронизации
  • Координация заказов через мессенджеры
  • Открытие нового города — 3-6 месяцев
  • Нет мобильных приложений
  • Нет бонусной программы и trade-in
  • Нет онлайн-оплаты

✓ После запуска

  • Полноценный онлайн-магазин + мобильное приложение
  • Автоматическая синхронизация каталога с 1С
  • Система сборки и доставки с мобильным приложением для сотрудников
  • Новый город — 15 минут в админ-панели
  • 2 Flutter-приложения: для клиентов и сотрудников
  • Бонусная программа, trade-in, сервис
  • 3 платёжных шлюза: Tinkoff, Сбербанк, ЮKassa