EVA - ПЗ для польського заводу, фулфілмент

Наш клієнт - польська компанія Прайм Ева https://primeeva.com/ має власний завод з виробництва килимків преміум-якості під різні типи автомобілів. Килимки розробляються на екологічному виробництві, індивідуально під кожну модель авто, після чого продаються в інтернет-магазині, який дуже дружній для користувача. Співробітники компанії працюють у багатофункціональній ERP системі, яка автоматизує ключові бізнес-процеси, що позитивно позначається на цінах і культурі взаємодії з клієнтом.

EVA - ПЗ для польського заводу, фулфілмент
INGELLO / BUSINESS2388
Перейти до системиprimeeva.com Звʼязатися з нами

Prime EVA: головна інтернет-магазину автомобільних килимків

https://primeeva.com/

Кейс Польський Завод ПраймЕВА

Prime EVA це польське виробництво автомобільних килимків з EVA-матеріалу, входить до Evaline Group. Килимки робляться під конкретну машину: марку, модель, покоління, кузов і коробку передач. Покупець сам обирає фактуру, колір килимка та колір окантовки, комплект (лише передні, повний набір, багажник тощо), а завод виготовляє виріб під замовлення і відправляє його по Європі. Магазин працює англійською, німецькою та польською.

Ззовні це охайний інтернет-магазин. Усередині кожне замовлення це маленький виробничий проєкт: прийняти, підібрати лекала під модель авто, запустити у виробництво, запакувати, отримати етикетку доставки, відвантажити й повідомити клієнту, де його посилка. Саме цю невидиму покупцю частину ми й наводили до ладу.

Про проєкт

Технічне завдання - це забезпечити продаж через не-шаблонний інтерфейс інтернет-магазину, на якому Ви можете обирати модель, марку та інші характеристики свого авто, після чого для Вас будуть підібрані відповідні килимки, кліпси та додаткові аксесуари.

Не виходячи за межі публічно відомих даних і NDA щодо устрою цього бізнесу, можна сказати наступне:

Програмне забезпечення компанії взаємодіє з багатьма сервісами - фулфілмент сервіс WAPI, поштова розсилка від Майкрософт, база моделей машин, реєстр штрих-кодів, окрема CRM система та деякі інші сервіси.

Проблеми та рішення

Ми прийшли не на порожнє місце, а в живу систему, яка вже продавала й виробляла. Це завжди складніше, ніж почати з нуля: зупиняти завод заради гарної архітектури ніхто не буде. Ось із чим ми зіткнулися.

  • Архітектура. Система росла шарами, у міру того як з'являлися нові магазини, сервіси та завдання. Зв'язки між частинами були неочевидні, і правка в одному місці несподівано відгукувалася в іншому.
  • Відсутність документації. Як влаштовані замовлення, статуси та інтеграції, знали окремі люди, а не документи. Будь-який новий розробник починав з археології.
  • Легасі. Частину коду писали давно й поспіхом. Працює, але чіпати страшно, а чіпати доводиться.
  • Багато тестування. Кожна зміна стосується живих замовлень і грошей. Перевіряти доводилося багато й вручну, а це повільно й дорого.
  • Складні алгоритми. Підбір килимка під марку, модель, покоління, кузов і коробку передач, комплекти, кольори та фактури. Комбінацій дуже багато, і помилка тут означає виріб, який не підійде до машини.
  • Складні інтеграції. Магазин, фулфілмент WAPI, поштові розсилки, база моделей машин, реєстр штрих-кодів, окрема CRM. У кожного сервісу свої правила, свої збої і свій темп.
  • Асинхронні паралельні процеси. Замовлення надходять одночасно, статуси змінюють виробництво й доставка, і все це має сходитися в одну картину без гонок і дублів.
  • Відкладені завдання. Багато що має статися не зараз, а пізніше: лист клієнту, оновлення статусу, повторний запит до зовнішнього сервісу. Якщо таке завдання тихо губиться, клієнт дізнається про це раніше за компанію.

Рішення

Почали з діагностики, а не з переписування. Спочатку зрозуміти, що є, потім вирішити, що змінювати, і лише потім змінювати.

  • Аудит підсистем і ядра. Розібрали код, деплой і базу даних і зафіксували стан системи в окремому документі.
  • Моніторинг процесів. Зробили так, щоб зависле замовлення чи інтеграція, що впала, були видні одразу, а не за скаргою клієнта.
  • Рефакторинг. Не «все переписати», а мінімально необхідні перетворення, які наближають систему до стандартів і не зупиняють продажі.
  • Автоматизація розгортання. Викладка нової версії перестала бути ручним ритуалом із завмиранням серця.
  • Автоматизація доставки. Підібрали архітектурні рішення для безперервної інтеграції: зміни йдуть до користувачів короткими ітераціями.
  • Автоматизація тестування. Повторювані перевірки забрали в людей і віддали тестам.
  • Проєктування архітектури. Намалювали схеми «до», «після» і «перехід», щоб уся команда, включно з партнерами, бачила, куди і яким шляхом рухається система.
  • Закриття вразливостей. Знайшли й закрили слабкі місця, які спливли на аудиті.
  • Розробка модуля доставки. Зв'язали замовлення з фулфілментом WAPI: етикетки доставки, відвантаження, статуси посилки.
  • Розробка модуля пакування. Пакування стало окремим кроком процесу зі своїм статусом, а не «десь між виробництвом і відправкою».
  • Розробка модуля експорту та фін-звітів. Дані про замовлення вивантажуються для обліку й фінансової звітності без ручного зведення таблиць.
  • Паралелізація. Важкі операції рознесли по паралельних процесах, щоб зростання замовлень не перетворювалося на чергу.

Результати

  • Усунення втрати клієнтів. Збої, через які замовлення застрягали між магазином, виробництвом і доставкою, перестали тихо з'їдати клієнтів.
  • Покращення продуктивності. Система швидше обробляє замовлення і не захлинається під навантаженням.
  • Підвищення читабельності. Код став зрозумілішим, нові люди входять у проєкт швидше.
  • Підвищення тестопридатності. Зміни можна перевірити до того, як вони зустрінуться з живими замовленнями.
  • Покриття документацією. Знання про систему живуть у документах і схемах, а не лише в головах.

Про команду

У рамках роботи над проєктом ми зібрали робочу групу із системним архітектором, бізнес-аналітиком і трьома програмістами. Паралельно з нами на проєкті працювали наші партнери - британська компанія Wodo Ecom LLP (Лондон), їхній проєктний менеджер і спеціаліст з електронної комерції. Ми активно взаємодіяли з кількома представниками компанії та гнучко приймали, аналізували й впроваджували нові вимоги. Для якісної роботи над проєктом були організовані спеціальні зустрічі для проєктування та консолідації необхідних технічних процесів, робота була вибудувана в трекері, завдання декомпозувалися та деталізувалися в процесі, оскільки для цього проєкту не було можливості написати й затвердити повне технічне завдання через часті зміни у вимогах, а також необхідність коротких ітерацій і конвеєра доставки версій.

Висновки

Компанії Ingello можна довірити великі та нешаблонні проєкти. Ми не є найбільшою IT компанією на ринку, але в нас дуже глибокий підхід до розробки, наш досвід дає якісне розуміння клієнтів, їхніх компаній і внутрішніх процесів. Звертайтеся до нас із проєктами будь-якої складності.

Екрани та схеми

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

Prime EVA: конструктор килимка, фактура, кольори, комплект і вибір автомобіля

Обрали жовту окантовку й повний комплект, ціна змінилася.

Prime EVA: повний комплект із жовтою окантовкою

Коли машину обрано, магазин показує орієнтовну дорогу замовлення: оформлено, у виробництві, відправлено, доставлено. Обіцянка покупцю, за якою стоїть уся внутрішня система.

Prime EVA: килимки під обрану модель і орієнтовні строки виробництва та доставки

У кошик замовлення потрапляє з усіма параметрами: фактура, кольори, модель автомобіля. Саме ці дані потім ідуть у виробництво.

Prime EVA: кошик із параметрами килимка та моделлю автомобіля

Далі внутрішня кухня. Тека проєкту: аудит системи, документація, мінімально необхідні перетворення, підбір рішень для безперервної інтеграції, схеми «до, після, перехід», чорнова схема функціональності, схема листів клієнту з адмінки.

Prime EVA: тека проєктної документації

Схема процесу замовлення з фулфілментом WAPI: від замовлення в Shopify через перевірки, виробництво й етикетку доставки до відправлення та сповіщення клієнта.

Prime EVA: схема процесу замовлення та фулфілменту WAPI

Схема за ролями: що робить адміністратор, а що система, після того як замовлення з магазину підтверджено. Деталі розмито: це внутрішня кухня клієнта під NDA.

Prime EVA: схема обробки підтвердженого замовлення за ролями, деталі приховано

І документація, якої раніше не було. Зміст теж приховано за NDA, але сам факт її появи, мабуть, головний результат для будь-кого, хто розвиватиме систему далі.

Prime EVA: документація системи, зміст приховано

Технології

Вітрина працює на Shopify, облікова частина написана на Laravel (PHP). Довкола інтеграції: фулфілмент WAPI, поштові розсилки Microsoft, база моделей автомобілів, реєстр штрих-кодів, окрема CRM. Плюс безперервна інтеграція, автоматичне розгортання й тести, які ми вибудували під час проєкту.

Де подивитися

Магазин працює, і пройти шлях покупця від вибору машини до кошика можна самому на сайті primeeva.com. Адміністративна частина й документація закриті: це внутрішні системи клієнта під NDA.

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

SaaS архітектура Мікросервіси Хмарні обчислення Масштабованість ПЗ API-інтеграції DevOps процеси High-load системи Кібербезпека рішень