Сервис для тех, кто зарабатывает на спортивной аналитике: собирает коэффициенты и статистику из открытых источников, считает по ним показатели и сам находит события, подходящие под заданные условия.
Задача
Аналитик тратит основную часть времени не на анализ, а на сбор: коэффициенты в одном месте, турнирные таблицы в другом, история встреч в третьем, и всё это меняется на глазах. К моменту, когда данные собраны вручную, ситуация уже другая. Нужен сервис, который собирает всё сам, пересчитывает показатели по расписанию и уведомляет, когда появляется подходящее событие.
Что делает
- Собирает коэффициенты и статистику по расписанию, сводит данные из разных источников к единой структуре.
- Считает производные показатели по матчу: расчётные исходы, отклонения, матрицы вероятностей.
- Ищет события по настраиваемым фильтрам: вид спорта, лига, дата, диапазоны показателей.
- Ведёт избранное и присылает уведомления, когда по отслеживаемому событию меняются условия.
- Дашборд с показателями: активные матчи, изменения, история расчётов.
Как устроено
- Бэкенд на PHP, очереди для фонового сбора и пересчёта, планировщик задач.
- PostgreSQL как хранилище, Redis для кеша и очередей.
- Сбор данных вынесен в отдельные процессы с ротацией прокси и обработкой блокировок — источники ограничивают частоту запросов.
- Фронтенд на Vue 3 и Vite, интерфейс на русском.
- Ролевая модель: обычный пользователь видит аналитику, администратор — управление источниками и справочниками.
- Уведомления через Telegram-бота.
Стек
PHP, PostgreSQL, Redis, очереди, Vue 3, Vite, Element Plus, Docker.
О демонстрации
По ссылке открывается кабинет аналитика: дашборд, список матчей с фильтрами, карточка события с расчётами, профиль. Это демонстрационная копия — данные вымышленные, обращений к серверу нет, административные разделы в неё не входят.