Skip to content
@Open-Inflation

Open Inflation

An open source project to collect consumer inflation data worldwide!

An open source project to collect consumer inflation data worldwide

Roadmap / Дорожная карта

1. Создание библиотек для парсинга популярных розничных магазинов, а именно:

Библиотеки будут только предоставлять текущий каталог (в виде JSON) и сохранение изображений (в виде изображения PNG/JPEG записанных в ОЗУ) возвращаемых несколькими асинхронными функциями.

В России:

  1. Продуктовых: Чижик(низкие цены), Пятёрочка(средний сегмент), Магнит ⛔ (средний сегмент) 1, Перекрёсток(дорогой сегмент)
  2. Околопродуктовых: FixPrice(товары для дома) 2
  3. Электроника: DNS 👷, Eldorado 🕒, Citilink 🕒, M.video 🕒

1.2. Написанию unit-тестов

Для поддержания работоспособности библиотек требуется создать инструментарий для постоянного контроля за их устареванием и оперативным исправлением

Чижик (Chizhik)

  • GitHub Actions

Пятёрочка (Pyaterochka)

  • GitHub Actions

Перекрёсток (Perekrestok)

  • Не создан

FixPrice

  • Не создан

2. Создание "сборочных конвееров"

Скрипты отдельные для каждой страны (по причине оптимизации разработки, и банов селлерами опредленных IP-диапазонов). Они будут формировать списки каталогов собирая их в единый формат (структуру), а так же иконки товаров. Собранные таким образом изображения и информация каталога будет запакована в архив и в таком виде отправлена на сервер хранения.

Этап не проработан.

3. Создание центра хранения

Это единый сервер куда будут присылаться данные на регистрацию. Регистрация будет проходить из:

  1. Дополнения базы данных новыми записями (создание новой карточки товара, если позиция новая)/(обновление текущей карточки товара новой информацией (обновленной цене, рейтингу и т.п.))
  2. Обновление изображений: сохранение новых изображений для новых товаров, замена изображений для текущих товаров.

Сервер отвечает 2-мя способами:

  1. Пользователь может запросить актуальный дамп (датасет)
  2. Пользователь может общаться с сервером как с обычным каталогом

4. Создание сайта-интерфейса

Информация будет запрашиваться из центра хранений для визуализации инфляции, информации об изменении карточек товаров и т.п.

Footnotes

  1. Сайт крайне медленный, написан как монолитный web-сервер, из-за чего для разработки и поддержания библиотеки требуется сильно больше сил чем обычно.

  2. Функция для получения информации о продукте не реализована, так как эта информация вшита в html код, решил не делать парсер пока не будут написаны тесты.

Popular repositories Loading

  1. pyaterochka_api pyaterochka_api Public

    Pyaterochka API async client

    Python 7 1

  2. playwright_interceptor playwright_interceptor Public

    Addon for Playwright for intercepting and modifying HTTP requests and responses.

    Python 2 1

  3. chizhik_api chizhik_api Public

    Chizhik API async client

    Python 1

  4. perekrestok_api perekrestok_api Public

    Perekrestok API async client

    Python 1

  5. fixprice_api fixprice_api Public

    FixPrice API async client

    Python 1

  6. pytest-typed-schema-shot pytest-typed-schema-shot Public

    Pytest plugin for JSON Schema–based snapshots

    Python 1

Repositories

Showing 7 of 7 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…

Most used topics

Loading…