Разработка сервиса для FPV-магазинов — Конструктор дронов
Встраиваемый конструктор проверяет совместимость деталей дрона, пересчитывает характеристики и передаёт комплект в корзину магазина

Задача
Магазинам FPV- и БПЛА-комплектующих нужен конструктор, в котором покупатель собирает дрон из каталога и узнаёт о несовместимости деталей до передачи комплекта в корзину. Проверка должна учитывать физические размеры и крепления, питание и протоколы компонентов. Сервис требовалось встраивать в сайты разных магазинов с их цветами и шрифтами. Данные партнёров нужно было разделить, а сотрудникам дать возможность вести каталог и настраивать правила совместимости без программирования.
Подбор начинается с рамы
Режим «Мастер» проводит покупателя от рамы через систему, управление и FPV к питанию и дополнительным компонентам. Выбранная рама задаёт ограничения: детали с неподходящим креплением или слишком большим винтом становятся недоступными. Конструктор объясняет причину.
На телефоне подбор также идёт по шагам. В карточке детали видны характеристики, цена и остаток — покупатель оценивает компонент перед добавлением в сборку.

Совместимость проверяется при подборе
Ядро на Python проверяет геометрию, массу и центр тяжести, питание, протоколы, UART-порты и тяговооружённость. При замене детали характеристики пересчитываются: покупатель видит, как меняются вес, токи и прогноз времени полёта. Сообщения разделены на ошибки, предупреждения и пояснения. Блокирующая ошибка отключает добавление комплекта в корзину.
Для расчёта центра тяжести у слотов рамы заданы координаты установки компонентов. Тяга рассчитывается по замерам производителя из таблицы мотора. Если подходящих данных нет, результат помечается как оценка.

Каталог и правила без кода
Сотрудники магазина ведут детали в административной панели: ищут по названию и SKU, фильтруют по категориям, меняют характеристики, цены и остатки. Для каждой категории предусмотрена своя форма. Каталог можно загрузить из CSV или XLSX с предварительным просмотром и сопоставлением колонок.
Отдельный конструктор правил позволяет связать свойства разных категорий. Например, ограничить размер пропеллеров для определённого класса рамы или напряжение аккумулятора для моторов. Администратор задаёт условие, уровень сообщения и приоритет, включает и отключает правило без изменения кода.


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

Встраивание в сайт магазина
Виджет на Preact поддерживает цвета и шрифт магазина. Shadow DOM изолирует его стили от оформления сайта. Данные партнёров разделены по схемам PostgreSQL, а Redis хранит каталог и результаты проверок в кэше.
Для передачи комплекта в корзину реализовали JavaScript-событие и callback. Сайт получает товары, количество и сумму по своему каталогу, затем рассчитывает скидки. Покупателю не нужно добавлять каждую деталь повторно.
Гостевая сборка сохраняется в локальном хранилище браузера. Конфигурацию также можно сохранить по ссылке и отправить другу или консультанту. Для знакомства с продуктом подготовили браузерное демо: Python-ядро выполняется через Pyodide без серверного API.
Цели
- Выявлять несовместимость деталей до передачи комплекта в корзину
- Передавать комплект в корзину магазина целиком
- Дать сотрудникам управление каталогом и правилами без программирования
- Поддержать встраивание в сайты разных магазинов с разделением данных
Целевая аудитория
- Покупатели комплектующих для FPV-дронов и БПЛА
- Сотрудники магазинов, которые ведут каталог и настраивают совместимость
Что нужно пользователю
Job to be done — от ситуации к результату
Я подбираю комплектующие для дрона и должен учесть, подходят ли они друг другу по креплениям, питанию и протоколам.
Хочу до покупки понять, совместим ли комплект и как замена деталей повлияет на расчётные характеристики дрона.
Могу оценить конфигурацию до покупки, отправить её на обсуждение другу или консультанту и передать комплект в корзину без повторного добавления деталей.
Что внутри
Пошаговый подбор комплектующих
Проверка физической и электрической совместимости
Пересчёт характеристик при замене деталей
Блокировка добавления в корзину при ошибках
Восстановление гостевой сборки и сохранение по ссылке
Передача состава и стоимости комплекта в корзину
Импорт каталога из CSV и XLSX
Настройка правил совместимости без кода
Статистика сборок и частых ошибок
Брендирование виджета и разделение данных магазинов
Как работали
Анализ технического задания
Разработка ядра совместимости и API
Разработка виджета подбора комплектующих
Создание административной панели
Подготовка браузерного демо
Нужен похожий проект?
Расскажите о задаче — оценим объём, сроки и стоимость, предложим решение. Есть ТЗ — загрузите его и получите предварительную цифру за несколько минут.


