По сути задачи: нужна таблица технических параметров товаров (сокет, чипсет, типы и частоты памяти, форм-фактор платы и корпуса, питание), и логика, сверяющая новую деталь с уже выбранными при каждом добавлении. Если возникает противоречие, покупателю должно быть понятно, из-за какой пары товаров оно возникло и что посмотреть взамен — просто «ошибка» тут не годится. Отдельно хотелось бы подсвечивать пограничные случаи, когда деталь формально подходит, но с очень малым запасом.
Готов обсуждать реализацию — логика на стороне страницы или отдельный обработчик, дёргаемый при изменении сборки. Главное — работать быстро, покрывать актуальные линейки железа, а правила дополнять самостоятельно, без разработчика на каждое поколение.
Что важно получить:
— сверку по сокету, чипсету, типу и частоте памяти, габаритам
— понятные пояснения к предупреждению о несовместимости
— возможность редактировать правила без правки кода
— краткую инструкцию по добавлению новых категорий товаров