Общая постановка задачи

Необходимо разработать интернет-магазин для продажи автозапчастей с возможностью регулярной загрузки и актуализации данных из прайс-листов (формат Excel/CSV). Ожидаемый объем каталога - до 5 миллионов товарных позиций. В прайс-листах содержатся столбцы: марка, модель, группа запчастей, описание, ссылки на фотографии. Требуется изучить логику каталогов по образу существующих магазинов (типа AutoForward и Amtor) и реализовать автоматическое распределение данных по структуре: марка → модель → группа → деталь.

Ключевые требования

  • Загрузка данных из Excel/CSV.
  • Автоматическое создание и обновление дерева каталога (марка, модель, группа).
  • Возможность прикрепления изображений по ссылкам из прайса.
  • Хранение и быстрый поиск среди 5 миллионов позиций (необходимо решить проблему производительности).
  • Многоуровневая навигация: по категориям, артикулам, брендам.
  • Фильтры по совместимости (марка/модель), году выпуска, объему двигателя и т.п.
  • Личный кабинет пользователя, корзина, оформление заказа.
  • Административная панель для управления загрузкой прайсов, управления товарами, пользователями и заказами.

Рекомендации по технологиям

  • Основная система: .csv .xlsx импорт через краткий скрипт на Python (для вычитки формирования базы).
  • CMS / Framework: OpenCart (или система типа WordPress + WooCommerce при особой архитектуре хранения). OpenCart чаще используется для больших каталогов за счет легкой структуры.
  • Для хранения более 1 М товаров обязательно использовать решения типа Elasticsearch или Sphinx для поиска.
  • Разделение данных фотографий на отдельный сервер (CDN или облако) для снятия нагрузки с сервера базы данных.
  • При загрузке прайса следует производить фоновую обрезку дубликатов и формировать кеши для категорий.

Необходимые результаты для заказчика

  • Полный рабочий код сайта (выгруженные фаилы шаблонов, ядро платформы).
  • Скрипт на Python для парса и загрузки готовой структуры каталога.
  • Подробная сопроводительная документация и мануал по выгрузке прайсов.
  • Рекомендации по хостингу/серверу для работы с 5 млн записей.

Примечания для исполнителя

Клиент сталкивался с катастрофически медленной работой сайта на 500 тыс. товаров. Необходимо сразу закладывать индексацию, кеширование и разделение базы данных (Sphinx, Redis/memкached). Фотографии должны быть легче 100-300 Кб, авторесайзом при загрузке. Саму базу можно вести стандартной MySQL/MarijaDB но с партициями по маркам. Рассмотреть посекционирование через Mod_rewrite и FPC (full page cache).

Ожидания по дизайну

Дизайн страниц каталога и детальной должны подражать структуре самых популярных автоподборщков - левое меню с категориями, отображение числа сопоставимых работ. Экспорт табличной версии результатов поиска. Максимум информационных блоков для б/у деталей с оригиналом.

Создание 3D-модели фасадов дома в ArchiCAD

Требуется опытный специалист для быстрого моделирования внешних элементов дома (стены, окна, кровля) в ArchiCAD на основе предоставленных фотографий и чертежей. Внутренние планировки не нужны. Срок выполнения - около 40 минут.