Retail Inventory Tracker — багатопотоковий бот парсингу товарів
Завдання та реалізація
Завдання
Розробити автоматизованого Telegram-бота для паралельного моніторингу залишків, розмірів та цін товарів у великих інтернет-магазинах із миттєвим сповіщенням користувачів.
Що реалізовано
- Швидкий моніторинг: паралельна перевірка наявності всіх комбінацій кольорів і розмірів товару в режимі 24/7 менш ніж за 1.5 секунди.
- Зручний інтерфейс: вибір бажаних розмірів (S, M, L) через інтерактивні інлайн-кнопки з галочками прямо в чаті Telegram.
- Особистий кабінет: керування активними відстеженнями, налаштування сповіщень та автоматичне оновлення статусів товарів.
Функціональні можливості
Паралельний скрапінг через p-limit
Багатопотокова черга запитів із контрольованим лімітом одночасності, що забезпечує максимальну швидкість парсингу без блокувань.
Парсинг складних багатоколірних SKU
Автоматичний аналіз усіх кольорів, артикулів та розмірних сіток однієї моделі товару за одне додавання посилання.
Інтерактивний чекбокс-вибір розмірів
Зручний інтерфейс у Telegram: користувач натискає на кнопки розмірів (S, M, L) і бачить статус вибору прямо на клавіатурі.
Стійкий до збоїв фоновий планувальник
Циклічний моніторинг з адаптивними інтервалами перевірки, повторними спробами (retry) та експоненційним бекофом при помилках.
Розумна ротація резидентських проксі
Маршрутизація трафіку через пул проксі-серверів для рівномірного розподілу навантаження та запобігання rate-limit обмеженням.
Нормалізована схема PostgreSQL
Зберігання товарів, варіантів та зв'язків з користувачами в Supabase з каскадним оновленням та швидкими індексами.
Результати проєкту
середній час повного опитування наявності для всіх розмірів товару
прискорення збору даних завдяки паралельній обробці кольорових модифікацій
пропущених поповнень залишків (миттєве надсилання Telegram-алерту)
ізольованість оточення та легке масштабування завдяки Docker Compose
Етапи розробки
Спроектували схему даних у PostgreSQL для зв'язку сутностей: товар → кольори → розміри/SKU → користувацькі підписки.
Реалізували модуль завантаження та парсингу сторінок із застосуванням p-limit для оптимізації багатопотоковості.
Інтегрували Playwright для вирішення динамічних challenge-скриптів та налаштували роботу через пул проксі.
Побудували стан бота з підтримкою пагінації списку активних товарів, вибору розмірів у 1 клік та керування задачами.
Провели навантажувальне тестування на базі 100+ одночасно відстежуваних позицій та оптимізували споживання оперативної пам'яті.
Готові запустити проєкт або автоматизувати продажі?
Напишіть мені напряму в Telegram. Обговоримо технічну концепцію, архітектуру та орієнтовний кошторис під ваше завдання без жодних зобов'язань.
