У нас інтернет-магазин комплектуючих, і покупці збирають конфігурацію через конструктор: додають материнську плату, процесор, пам'ять та інші деталі, а потім оформлюють замовлення. Наразі ніщо не заважає додати процесор і плату з різними сокетами або пам'ять, яка не підходить за типом чи частотою, і про помилку ми дізнаємось лише коли покупець отримує несумісний комплект і вимагає повернення. Потрібен виконавець, який підключить рушій перевірки сумісності всередині конструктора, щоб система попереджала про конфлікт деталей до оформлення замовлення.
Основна частина роботи — база характеристик за сокетами, чипсетами, типами й частотами пам'яті, форм-факторами та живленням, а над нею — правила, що порівнюють уже обрані деталі з кожною новою позицією. У разі конфлікту віджет має пояснити причину, а не показати загальну помилку, і підказати, яка категорія підійде натомість. Спірні випадки — наприклад, кулер влазить, але майже без зазору — теж варто позначати окремо.
Відкриті до різних варіантів: правила на стороні браузера з даними з каталогу або окремий сервіс, який опитується за зміни збірки. Важливі швидкість, точність за актуальними чипсетами і можливість самостійно редагувати правила, коли з'являються нові комплектуючі.
Що очікуємо на виході: — перевірку сокета, чипсета, типу й частоти пам'яті, габаритів — зрозумілі попередження з указанням конфліктних деталей — таблицю правил, редаговану з адмінки, а не зашиту в код — короткий опис, як додавати нові родини комплектуючих