Karuselle
Багатомовний маркетплейс брендового одягу з других рук: семантичний пошук, гнучкі комісії продавців, податкова звітність ЄС і нові способи оплати на Laravel-кодовій базі, що росте.

Задача
Багатомовному fashion-маркетплейсу з багатьма продавцями й кількома зовнішніми каналами продажу треба було рости на старій кодовій базі: розумніший пошук, чесні й гнучкі комісії, податкова звітність ЄС, нові способи оплати — і щоб магазин лишався швидким і безпечним.
Рішення
Три роки як єдиний розробник:
- Оновлення фреймворку: Laravel 5.8 → 6 → 7 → 8 → 9 → 10 → 11 з усіма пакетами і PHP 7.4 → 8.x за два тижні, плюс переїзд на новий сервер.
- Семантичний пошук чотирма мовами: власний сервіс ембедінгів і векторна база, інкрементальна синхронізація індексу через черги, перехід на звичайний пошук із circuit breaker, перемикач у адмінці без деплою, детермінований фільтр за кольором, категорією й матеріалом, синоніми й діагностичні команди.
- Каталог і вітрина: AJAX-фільтри в бічних панелях із лічильниками, конвертація розмірів у EU і типи розмірів за країнами, фільтри знижок і продавців, SEO-адреси, повний редизайн карток, шапки, футера й мегаменю, банери й слайдери головної з перетягуванням.
- «Запропонуй ціну»: покупець пропонує свою, адмін відповідає зустрічною листом навіть гостям, ліміти на людину, строк дії й захист від подвійного кліку.
- Оформлення й оплата: збір Buyer Protection у кошику, checkout, листах і інвойсах з ПДВ; купони, доставка залежно від країни; Stripe з 3D Secure, Apple Pay і Google Pay, PayPal REST, Paysera з перевіркою суми.
- Продавці й гроші: канали продажу зі своїми комісіями й інвойсами, окремий інвойс для кожного продавця в одному замовленні, дати виплат продавцям, податковий звіт DAC7 у XML, номери інвойсів під блокуванням БД, модуль Commission Rules з єдиним розрахунком, ставками для каналів, правилами за віком лістингу, превʼю, сортуванням і журналом змін.
- Фіди й маркетинг: Google Merchant, Facebook, CSV для партнерських маркетплейсів, синхронізація з Mailchimp, Consent Mode v2.
- SEO і GEO: структуровані дані для товарів, хлібних крихт і FAQ, canonical і hreflang лише для наявних перекладів, noindex для фасетів, правила robots для AI-ботів і llms.txt, щоденний sitemap і команда SEO-перевірки.
- Мови: LT, EN, PL і RU з перекладом під час збереження й щотижневою синхронізацією.
- Адмінка й експлуатація: панелі черг і задач з heartbeat воркера, фоновий експорт, відновлення сесії зі збереженням введеного тексту, прибирання покинутих чернеток товарів.
- Безпека: аудит закрив прогалини в контролі доступу й доступі до файлів, додав обмеження спроб входу за акаунтом і IP, завершення сесій після зміни пароля і дозволені типи файлів.
- Тести: від нуля до 239 тестів із захистом від запуску на продакшні.
Результат
- Розрахунок комісій для 50 товарів: з 101 запиту до БД до 2.
- Список оферів: 169 → 121 запит на сторінку; товар із 35 оферами: 92 → 64.
- Мініатюри товарів: 136 → 20 КБ кожна (60 на сторінці категорії); фото одного товару: 2,5 → 0,5 МБ.
- У історії продажів продавці тепер бачать саме те, що їм нараховано: знайдено й виправлено помилку, що зачепила більшість старих рядків.
- Семантичний пошук охоплює близько 9000 товарів у продакшні.