#### **Цілі проекту**:
Створити веб-платформу, яка дозволяє:
1. Автоматично створювати чернетки лістингів на eBay на основі структури папок з фотографіями.
2. Підтягувати характеристики запчастин з попередньо спарсених каталогів.
3. Забезпечити можливість ручного редагування карток товару перед публікацією.
4. Гнучко працювати з безліччю каталогів (по кількості брендів автомобілів), надаючи можливість додавати та структуризувати нові каталоги в будь-який час.
---
#### **Етапи розробки**:
### 1. **Збір та аналіз даних**
- **Опис завдання**:
- Фотографії організовані за структурою: `Фото → Бренд → Серія → ВІН-код → Папки з деталями`.
- Для кожного бренду авто буде свій окремий каталог, який містить вибух-схеми та характеристики запчастин.
- **Ключові вимоги**:
- Підтримка роботи з безліччю каталогів одночасно.
- Гнучкість структури даних: можливість додавання нових брендів та їх каталогів без зупинки роботи системи.
- **Результат**:
- Повне розуміння структури даних, схем каталогів та необхідних полів eBay.
---
### 2. **Розробка модулів платформи**
#### 2.1. **Модуль завантаження фото**
- **Функціонал**:
- Можливість завантаження структури папок з фотографіями.
- Автоматичне розпізнавання структури (бренд → серія → ВІН-код → деталі).
- Створення чернеток лістингів на основі папок.
- **Технології**: Python (для обробки файлів), Django/Flask (веб-частина), PostgreSQL/MySQL (для зберігання даних).
---
#### 2.2. **Модуль роботи з каталогами**
- **Функціонал**:
- Додавання нових брендів та їх каталогів в платформу через зручний інтерфейс.
- Підтримка парсингу для кожного каталогу (Jaguar, BMW, Mercedes-Benz тощо).
- Універсальний парсер вибух-схем з можливістю налаштування під різні бренди.
- Зберігання всіх даних про деталі в базі даних, з прив'язкою до бренду та моделі.
- **Структуризація даних**:
- **Рівень 1**: Бренд.
- **Рівень 2**: Модель/серія.
- **Рівень 3**: ВІН-код.
- **Рівень 4**: Деталь.
- **Можливості**:
- Додавання нового каталогу:
- Назва бренду.
- Джерело даних (посилання на вибух-схему, файли, інші ресурси).
- Налаштування парсера.
- Інтерфейс для ручного редагування даних каталогу.
- **Технології**: BeautifulSoup/Selenium (для парсингу), PostgreSQL/MySQL (для зберігання даних).
---
#### 2.3. **Модуль автоматизації створення чернеток eBay**
- **Функціонал**:
- Заповнення обов'язкових полів eBay:
- Заголовок (формується автоматично за заданою структурою).
- Категорія (на основі типу деталі).
- Item Specifics (характеристики з каталогу).
- Compatibility (за даними каталогу).
- Condition, Description, Pricing (ручне заповнення або підказки).
- Збереження чернеток з можливістю подальшого редагування.
- **Технології**: eBay API (Python SDK).
---
#### 2.4. **Інтерфейс редагування карток товару**
- **Функціонал**:
- Перегляд та редагування чернеток лістингів.
- Перевірка коректності даних перед публікацією.
- Сповіщення про порожні або некоректні поля.
- **Технології**: React/Angular/Vue.js (фронтенд), Django REST Framework (бекенд).
---
#### 2.5. **Модуль управління публікацією**
- **Функціонал**:
- Публікація готових карток на eBay.
- Відстеження статусу публікації (опубліковано, чернетка, помилка).
- Логування всіх дій.
- **Технології**: eBay API.
---
### 3. **Тестування системи**
- Тестування кожного модуля:
- Коректність парсингу вибух-схем.
- Генерація карток на основі папок з фото.
- Підтягування даних з каталогу.
- Робота з eBay API.
- Тестування інтеграції всіх модулів.
---
### 4. **Ручне та автоматичне оновлення каталогів**
- Додавання функціоналу для регулярного оновлення даних каталогів.
- Перевірка та видалення застарілих даних.
---
### 5. **Розгортання та підтримка**
- Розгортання на сервері.
- Створення документації для користувачів та розробників.
- Підтримка та додавання нового функціоналу (за необхідності).
---
#### **Технологічний стек**:
- **Бекенд**: Python (Django/Flask).
- **Фронтенд**: React/Angular/Vue.js.
- **База даних**: PostgreSQL/MySQL.
- **Парсинг даних**: BeautifulSoup/Selenium.
- **eBay API**: Python SDK.
- **Хостинг**: AWS/DigitalOcean/VPS.
---
Можливі коригування та зміни в процесі.
Заявки приймаються тільки від тих, хто розуміє суть та вимоги завдання.
Пріоритет надається виконавцям з досвідом виконання аналогічних проектів.