← Все кейсы A-02 Кейс · /ru/business/calculators

Калькуляторы + 3D

Одна система расчёта для более чем сотни моделей изделий; прототип на three.js перестраивает 3D-модель при смене параметров.

калькуляторы в проде3D — прототип Роль: Единственный разработчик в Пионере
PythonOpenAPIRedisWagtailthree.js
A-02видео · прототип
Прототип 3D-модели в калькуляторе (three.js, ветка эксперимента — в прод не влит)
01Как это работает калькуляторы в проде · 3D — прототип

Одна система расчёта для более чем сотни моделей изделий

На сайте-каталоге: настроил изделие в калькуляторе — увидел цену — оформил заказ без регистрации.

Прототип на three.js перестраивает 3D-модель при смене параметров.

02Инженерные решения

Что было непросто

Решение 01

Калькулятор — класс с аннотациями и реестр

Изделие — класс, параметры объявлены аннотациями типов. Декоратор кладёт класс в реестр, при старте каждый получает две ручки — расчёт и превью, — а модель запроса и OpenAPI генерируются из аннотаций. Настройки живут в CMS и проецируются в Redis; URL класса совпадает с URL страницы товара, поэтому калькулятор находится без таблицы соответствий. Ответ у всех калькуляторов один, и корзина собирает позицию одинаково для любого изделия. Цену с фронта корзина не принимает.

03Экраны

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

A-021440 × 742
pioner.ru
Карточка стола переговоров: калькулятор стоимости — длина и ширина, материал и цвет столешницы, торец, итоговая цена и кнопка «Добавить в корзину»
Карточка товара с калькулятором
04Рядом