#### **Project Goals**:
To create a web platform that allows:
1. To automatically create drafts of listings on eBay based on the folder structure with photos.
2. To pull characteristics of spare parts from pre-parsed catalogs.
3. To provide the ability to manually edit product cards before publication.
4. To flexibly work with multiple catalogs (by the number of car brands), providing the ability to add and structure new catalogs at any time.
---
#### **Development Stages**:
### 1. **Data Collection and Analysis**
- **Task Description**:
- Photos are organized by structure: `Photo → Brand → Series → VIN-code → Parts folders`.
- Each car brand will have its own separate catalog containing exploded diagrams and characteristics of spare parts.
- **Key Requirements**:
- Support for working with multiple catalogs simultaneously.
- Flexibility of data structure: the ability to add new brands and their catalogs without stopping the system's operation.
- **Result**:
- Complete understanding of the data structure, catalog schemes, and necessary eBay fields.
---
### 2. **Development of Platform Modules**
#### 2.1. **Photo Upload Module**
- **Functionality**:
- Ability to upload the folder structure with photos.
- Automatic recognition of the structure (brand → series → VIN-code → parts).
- Creation of drafts of listings based on folders.
- **Technologies**: Python (for file processing), Django/Flask (web part), PostgreSQL/MySQL (for data storage).
---
#### 2.2. **Catalog Management Module**
- **Functionality**:
- Adding new brands and their catalogs to the platform through a user-friendly interface.
- Support for parsing for each catalog (Jaguar, BMW, Mercedes-Benz, etc.).
- Universal parser for exploded diagrams with the ability to customize for different brands.
- Storing all data about parts in the database, linked to the brand and model.
- **Data Structuring**:
- **Level 1**: Brand.
- **Level 2**: Model/series.
- **Level 3**: VIN-code.
- **Level 4**: Part.
- **Capabilities**:
- Adding a new catalog:
- Brand name.
- Data source (link to exploded diagram, files, other resources).
- Parser configuration.
- Interface for manual editing of catalog data.
- **Technologies**: BeautifulSoup/Selenium (for parsing), PostgreSQL/MySQL (for data storage).
---
#### 2.3. **Module for Automating eBay Draft Creation**
- **Functionality**:
- Filling in mandatory eBay fields:
- Title (automatically generated according to the specified structure).
- Category (based on the type of part).
- Item Specifics (characteristics from the catalog).
- Compatibility (according to catalog data).
- Condition, Description, Pricing (manual entry or suggestions).
- Saving drafts with the possibility of subsequent editing.
- **Technologies**: eBay API (Python SDK).
---
#### 2.4. **Product Card Editing Interface**
- **Functionality**:
- Viewing and editing drafts of listings.
- Checking the correctness of data before publication.
- Notifications about empty or incorrect fields.
- **Technologies**: React/Angular/Vue.js (frontend), Django REST Framework (backend).
---
#### 2.5. **Publication Management Module**
- **Functionality**:
- Publishing ready cards on eBay.
- Tracking the status of publication (published, draft, error).
- Logging all actions.
- **Technologies**: eBay API.
---
### 3. **System Testing**
- Testing each module:
- Correctness of parsing exploded diagrams.
- Generation of cards based on folders with photos.
- Pulling data from the catalog.
- Working with eBay API.
- Testing the integration of all modules.
---
### 4. **Manual and Automatic Catalog Updates**
- Adding functionality for regular updates of catalog data.
- Checking and removing outdated data.
---
### 5. **Deployment and Support**
- Deployment on the server.
- Creating documentation for users and developers.
- Support and addition of new functionality (if necessary).
---
#### **Technology Stack**:
- **Backend**: Python (Django/Flask).
- **Frontend**: React/Angular/Vue.js.
- **Database**: PostgreSQL/MySQL.
- **Data Parsing**: BeautifulSoup/Selenium.
- **eBay API**: Python SDK.
- **Hosting**: AWS/DigitalOcean/VPS.
---
Adjustments and changes are possible during the process.
Applications are accepted only from those who understand the essence and requirements of the task.
Priority is given to performers with experience in similar projects.