Все кейсы SaaS-платформа / аналитика

MaxCatalog.ru

Каталог и аналитика каналов в мессенджере MAX

maxcatalog.ru

13,9K каналов в каталоге

Задача

Создать аналитический сервис для мессенджера MAX — аналог TGStat и MaxFrame: каталог каналов, динамика подписчиков, биржа рекламы и инструменты для рекламодателей, владельцев каналов и аналитиков.

Проект требовал не только витрины с топами, но и отдельного контура сбора и расчёта метрик, личного кабинета, подтверждения владения каналами через бота и платной подписки на расширенную аналитику.

Решение

Продукт и разделы

  • Главная с общими цифрами по базе, быстрыми топами, блоком добавления канала и инструкцией по боту.
  • Каталог каналов с фильтрами: категория, тип, открытый/приватный, подписчики, прирост за 24 часа / 7 / 30 дней.
  • Профили каналов: подписчики, прирост, ER, просмотры, история, рекламные размещения, отзывы и рейтинг.
  • Каталог сеток каналов и биржа рекламы — отдельные разделы для подборки площадок и закупки размещений.
  • Поиск публикаций по ключевым словам, брендам и компаниям с учётом репостов.
  • Личный кабинет: избранное, управление каналами, цены рекламы, подписка Premium.

Архитектура и API

  • WordPress отвечает за витрину, SEO, тарифы, FAQ и UI личного кабинета.
  • Laravel Analytics API собирает данные, считает метрики и отдаёт готовую аналитику через REST API v1.
  • Раздельные БД: mstat_wp_db и mstat_analytics_db — WordPress не обращается к аналитической базе напрямую.
  • Redis для кэша и очередей, Laravel Scheduler и queue:work для фоновых задач.
  • Контроль доступа к premium-метрикам через подписки и entitlement.

Сбор данных и парсинг

  • Парсер каталога MaxFrame по cron: discover, parse, requeue с очередью URL.
  • Гибридная модель источников: trust + fallback, канонизация метрик по приоритетам.
  • Puppeteer-сервис для headless-парсинга и сравнения стратегий загрузки страниц.
  • Внутренний импорт каналов через Artisan без HTTP для служебных операций.
  • Управление parse-воркерами: systemd timer, мониторинг и контроль через Filament.

MAX-бот и владение каналами

  • Бот MaxCatalog в мессенджере MAX: webhook, ingest батчей, идемпотентность и очереди.
  • Сбор статистики по закрытым каналам, где бот добавлен администратором.
  • Claim через бота: подтверждение владения каналом с автоматическим или ручным approve.
  • Команды /help и /stats, cron resync каналов, Prometheus-метрики и alert rules.
  • UX статуса бота на профиле канала и в личном кабинете «Мои каналы».

Администрирование

  • Операторская админка Filament в Analytics API: модерация, отзывы, claim-потоки, webhook-события.
  • Портал сотрудника и Chrome-расширение для внутренних операций.
  • Лидеры закупок, рекламные связи каналов, отзывы с антиспамом и модерацией.
  • Синхронизация на прод через rsync-скрипты и пошаговые runbook-инструкции.

Результат

Запущен работающий каталог аналитики MAX с базой из тысяч каналов, актуальными топами и биржей рекламы. Рекламодатели находят площадки с метриками, владельцы каналов подключают бота и управляют размещениями, а платформа масштабируется за счёт отдельного API-контура и автоматизированного сбора данных.

  • Рекламодатели и агентства исследуют рынок MAX через каталог, топы и биржу с ценами.
  • Владельцы каналов добавляют площадки, подтверждают права через бота и продают рекламу.
  • Аналитический контур обновляет метрики автоматически — без ручного пересчёта на витрине.

Технологии

  • Витрина WordPress, тема mstat-vitrina
  • Analytics API Laravel 11, REST API v1, Filament
  • Данные MySQL, Redis, очереди и Scheduler
  • Парсинг Puppeteer-сервис, cron-воркеры, MaxFrame parser
  • Интеграции MAX Bot API, webhook ingest, Premium-подписки