Task: Побудувати тул для завантаження маркетингових зображень із App Store та Google Play
Task ID: 20260328-mobile-app-marketing-graphics__task-01 Goal ID: 20260328-mobile-app-marketing-graphics Created at: 2026-03-28 15:58 (Europe/Kyiv)
Parent goal
- Goal file:
research/goals/20260328-mobile-app-marketing-graphics.md - Goal summary (скопійовано):
Зібрати всі маркетингові зображення (скриншоти, прев'ю, промо-блоки) з App Store та Google Play для конкурентів, які мають мобільні застосунки, проаналізувати їх і додати короткі українські буліти з посиланнями/ідентифікаторами конкретних зображень до профілів мобільних застосунків.
Status
- completed
Instructions
- Створити Node.js/TypeScript скрипт у
scripts/mobile-app-assets/(наприклад,scripts/mobile-app-assets/download-store-graphics.mjs). - Функціонал: приймає JSON-манифест із конкурентами (App Store URL, bundleId, Google Play URL, applicationId) та шлях до вихідної директорії; завантажує доступні маркетингові зображення (скриншоти, preview, featured graphics) з обох сторах.
- Вимоги: робота через офіційні сторінки (HTML + web_fetch), пер-айтем ретраї, лог кожного збереженого файлу (назва файлу й джерело), структура виходу
research/assets/mobile-apps/<competitor>/<store>/. - Скрипт має повертати JSON зі статусом для кожної сутності (успіх, пропущено, помилка) та переліком файлів.
- Додати
--helpз прикладом виклику й описом аргументів. Дотримуватись вимогscripts/README.md.
Findings
- Створено
scripts/mobile-app-assets/download-store-graphics.mjs(Node.js, ESM). Скрипт приймає JSON-манифест конкурентів (--manifest) і базову директорію виводу (--output-dir), завантажує скриншоти/preview App Store та Google Play, логуючи кожен збережений файл і повертаючи JSON-звіт у stdout. - Скрипт виконує пер-айтемні ретраї з експоненціальною затримкою, нормалізує
srcset, підтримує роботу тільки через офіційні сторінки стора, створює структуруresearch/assets/mobile-apps/<competitor>/<store>/і позначає статуси (success,no-assets,error). - Додано запис у
scripts/README.mdта оновленоpackage.json(ESM + залежностіcheerio,yargs), щоб зафіксувати новий тул.
Next steps
- Task 02: підготувати маніфест конкурентів і виконати тестовий прогін скрипта на обмеженій вибірці, щоб підтвердити структуру файлів та JSON-звіт.