Skip to content

poligrafo/goodsale_project

Repository files navigation

Goodsale Project

Goodsale — асинхронное приложение на Python для парсинга данных о товарах из XML-фида, их хранения в базе данных PostgreSQL и индексирования в Elasticsearch.

Описание Решения Тестового Задания

Проект был решён двумя способами:

  1. Ветка dev: Использование многопоточности с ThreadPoolExecutor для параллельной обработки данных.
  2. Ветка async_realization: Использование асинхронного программирования с asyncio для обработки данных.

Установка

1. Клонирование репозитория

git clone https://github.com/your_username/goodsale_project.git
cd goodsale_project

2. Настройка переменных окружения

  1. Скопируйте пример файла .env.example:
cp .env.example .env
  1. Отредактируйте .env, указав свои данные.

  2. Установка зависимостей

Установите зависимости с помощью Poetry:

poetry install
  1. Сборка и запуск контейнеров

Соберите и запустите контейнеры с помощью Docker Compose:

docker-compose up --build

Примеры Матчинга SKU

SKU UUID Название Продукта Similar SKU UUID Название Похожего Продукта
00007497-bcfa-417b-b14c-ccbec5d55c2b Чехол на Tecno Pova 3 / Текно Пова 3 с принтом Delilah Flower, прозрачный 463f78fd-a510-49ae-85af-a0358dae12f5 Чехол на Tecno Pova Neo 3 / Текно Пова Нео 3 с принтом Delilah Flower, прозрачный
00007497-bcfa-417b-b14c-ccbec5d55c2b Чехол на Tecno Pova 3 / Текно Пова 3 с принтом Delilah Flower, прозрачный 0d784fb1-ddcc-4138-83be-543a302221e6 Чехол на Tecno Pova 5 Pro 5G / Текно Пова 5 Про 5G с принтом Delilah Flower, прозрачный
00007497-bcfa-417b-b14c-ccbec5d55c2b Чехол на Tecno Pova 3 / Текно Пова 3 с принтом Delilah Flower, прозрачный 4e98db49-7775-4124-be74-75257bbb78ce Чехол на Tecno Phantom X2/X2 Pro / Текно Фантом X2/X2 Про с принтом Delilah Flower, прозрачный
00007497-bcfa-417b-b14c-ccbec5d55c2b Чехол на Tecno Pova 3 / Текно Пова 3 с принтом Delilah Flower, прозрачный 7ad062a3-3311-4cc0-8193-02f228ec62ea Чехол на Tecno Spark 20 Pro Plus / Текно Спарк 20 Про Плюс с принтом Delilah Flower, прозрачный
00007497-bcfa-417b-b14c-ccbec5d55c2b Чехол на Tecno Pova 3 / Текно Пова 3 с принтом Delilah Flower, прозрачный 91ad66d5-5384-4585-a848-bfb506f10797 Чехол на Tecno Spark Go 2024/Spark 20C / Текно Спарк Го 2024/Спарк 20C с принтом Delilah Flower, прозрачный
00010750-1d68-4a7f-9d6b-012ebc8f50c6 Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Парад планет 2a1f35a5-d825-4b41-aa66-be67ade3875d Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Енот
00010750-1d68-4a7f-9d6b-012ebc8f50c6 Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Парад планет 7b3e9027-6345-4c48-ac72-40df41d97041 Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Кассета
00010750-1d68-4a7f-9d6b-012ebc8f50c6 Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Парад планет ad3912c4-84da-4849-ad1f-778b68f7785d Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Монотипия
00010750-1d68-4a7f-9d6b-012ebc8f50c6 Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Парад планет c29a427f-e1b3-4bdf-9a69-934836b2a6f4 Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Шоколадка
00010750-1d68-4a7f-9d6b-012ebc8f50c6 Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Парад планет 77ac6661-51c7-4a3c-8eb3-5f71796a842f Чехол на Honor 7A / Honor 7S / Хонор 7А / Хонор 7С с принтом Энергия

Описание Столбцов:

  • SKU UUID: Уникальный идентификатор основного товара.
  • Название Продукта: Название основного SKU.
  • Similar SKU UUID: Уникальные идентификаторы похожих товаров.
  • Название Похожего Продукта: Названия товаров, схожих с основным SKU.

Пример SQL-запроса:

SELECT s1.uuid AS sku_uuid,
       s1.title AS sku_title,
       s2.uuid AS similar_sku_uuid,
       s2.title AS similar_sku_title
FROM sku s1
JOIN sku s2
  ON s2.uuid = ANY(s1.similar_sku)
LIMIT 10;

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published