Основная задача
Имеется рабочий прототип интернет-магазина автозапчастей, написанный на Python. Функциональность реализована частично, сайт требует доработок для корректной работы с данными и последующего выхода в публичный доступ. Ключевая цель - интегрировать данные из файлов формата .dbf в базу данных магазина и обеспечить их правильное отображение.
Технические этапы доработки
1. Загрузка производителей (брендов)
Требуется реализовать импорт списка производителей номенклатуры (брендов) из файла конфигурации (.dbf). Ожидается загрузка около 2 800 записей. Необходимо настроить уникальность для избежания дубликатов.
2. Загрузка основной номенклатуры (товаров)
Необходимо корректно загрузить основной каталог из того же формата. Размер каталога: до 200 000 товарных позиций.
Поля товара (пример): артикул, наименование, цена, остаток на складе, ставка НДС, и другие, характерные для запчастей.
3. Связь с производителями и аналогами
После загрузки товаров необходимо привязать их к брендам (поле Бренд / ArhancodeID) и настроить отображение аналогов. Товар должен искаться как по оригинальным, так и по аналогичным артикулам (OEM-номера).
Формат данных и структура
- Производители: файл 'arhanc.db' (2 800 строк). Основные поля: ID бренда (код), краткое наименование, полное наименование.
- Товары: размер файла ~200 000 строк. Связь с брендом через поле-идентификатор (кодовое имя). Содержит прайс-лист.
- Аналоги: до 450 000 записей. Представляют собой связки типа: [ID Номенклатуры] -> [OEM-номер аналога] по конкретному товару. Необходимо предусмотреть вывод списка замен / кросс-номеров на карточке товара.
Дальнейшее развитие и специфика проекта
После внедрения базового функционала (импорта и отображения) планируется публичный запуск сайта.
Что нужно предусмотреть в разработке
- SEO-оптимизация. Возможность редактировать заголовки () и мета-описания (description) для каждого товара. Наличие человеко-понятного URL (ЧПУ).
- Функционал фильтров. Поиск по артикулу, бренду, цене, аналогам.
- Производительность. Ввиду большого каталога быстрый поиск (возможно с использованием sphinx/fulltext или Elastic). Отказ от прямой вычитки всей базы при каждом запросе пользователя.
- Административная панель. Возможность главному администратору прописывать мета-теги, title, отключать неактуальное использование Django.
Формат исполнения
- Код (Github / ссылка) + Docker Compose (или выкладка тестового доступа) для тестирования функционала.
- Файлы конфигураций с разъяснением запуска.
- Возможная дальнейшая стыковка со службами доставки / рассылками не рассматривается, но дял масштабируемости.