Развлечение и спорт
Порталы и сервисы
Апрель 2022
Основная сложность проекта заключалась в том, что спортивная статистика по НХЛ не существовала в виде одного готового набора данных — информацию требовалось получать из нескольких источников (API NHL и Sportsnet), обрабатывать и синхронизированно использовать в разных частях продукта. Одни и те же данные должны были корректно отображаться одновременно в календаре матчей, карточках команд, статистике игроков, турнирных таблицах и детальной аналитике конкретного матча, при этом часть информации должна была обновляться автоматически, а часть — редактироваться администраторами вручную.
Дополнительным требованием стала монетизация: пользователь мог приобрести тариф, получить определённое количество доступных матчей для просмотра платной аналитики и расходовать этот лимит по мере использования. Таким образом, требовалось связать в одну систему данные, аналитику, контент, пользователей и коммерческую модель.
Конкретные цели проекта:
создать с нуля двуязычную аналитическую платформу, автоматически получающую спортивные данные через API;
дать администраторам возможность управлять данными и контентом через собственную панель;
предоставить пользователям календарь матчей, новости, статистику и детальную аналитику;
чётко разделить бесплатный и платный контент с системой тарифных планов и оплатой;
реализовать персональный личный кабинет для каждого пользователя;
обеспечить полноценную работу на desktop, tablet и mobile.

Работу начали с бизнес-анализа: определили, какие данные должны обновляться автоматически из API NHL и Sportsnet, а какие — оставаться под ручным контролем администратора. Это разделение легло в основу всей архитектуры продукта, построенной вокруг нескольких источников данных, связанных с пользовательской и административной частями системы.
Отдельным этапом спроектировали визуальную систему — начали не с отдельных страниц, а с прототипов, пользовательских сценариев и компонентов интерфейса. В итоге создали логотип, фирменные цвета и типографику, дизайн более 15 уникальных страниц, интерфейсы личного кабинета, pop-up окна, состояния элементов и адаптивные версии для desktop, tablet и mobile, а также собственный UI Kit с едиными правилами для кнопок, полей, карточек и таблиц — необходимый для продукта с большим количеством повторяющихся интерфейсных элементов.

Самой сложной частью стала система работы со спортивными данными: одна и та же информация — например, о травмированном игроке — должна была корректно использоваться сразу в нескольких разделах, от отдельной страницы «Травмированные игроки» до аналитики конкретного матча. Отдельно проработали логику разных состояний матча — предстоящий, идущий сегодня, завершённый (с итоговым счётом и статусом FINAL) или перенесённый (статус PPD) — учитывая её не только визуально, но и на уровне прав доступа к данным.
Для турнирных таблиц и статистики реализовали переключение между лигой, конференциями, дивизионами, wild card и сезонами, с горизонтальным скроллом и фиксированной первой колонкой на мобильных устройствах. В разделе игроков сделали три сценария: сводку с рейтингами, таблицу статистики с фильтрами и список травмированных игроков по командам.

Монетизацию аналитики построили на модели условных «ключей»: пользователь выбирает один из четырёх тарифов, определяющих срок подписки и количество доступных платных матчей, а каждое открытие платной аналитики расходует один ключ. Система на лету проверяет авторизацию, действующий тариф и остаток ключей у пользователя, а по окончании подписки неиспользованные ключи сгорают. Оплату подключили через Stripe и банковский эквайринг, с уведомлением о покупке в личном кабинете и по email.
Личный кабинет вынесли в отдельную полноценную часть продукта — управление аккаунтом, паролем, тарифом и оставшимися ключами, сохранение интересующих матчей и подписка на уведомления о них как в кабинете, так и по почте.
Административную панель разработали с нуля на чистом PHP, без готовой CMS, — с управлением тарифами, пользователями, новостями, матчами, статистикой, рекламой, доступом к аналитике и контентом на двух языках, чтобы не привязывать работу продукта исключительно к автоматической загрузке данных из API.
За примерно 5 месяцев работы — около 2 месяцев на дизайн и 3 месяцев на разработку — заказчику передали полностью готовую платформу: более 15 уникальных страниц, интеграцию с 3+ источниками API, 4 тарифных плана, поддержку 2 языков, 3 версии интерфейса (desktop, tablet, mobile), собственный UI Kit, отдельную административную панель, личный кабинет пользователя, систему подписок и платного доступа, уведомления и интеграцию оплаты.
Вместо обычного спортивного портала заказчик получил основу полноценного сервиса спортивной аналитики — с автоматизированным сбором данных, собственной системой представления статистики, управлением контентом, личными кабинетами, подписной моделью, платным доступом к аналитике, инструментами управления пользователями и адаптивным двуязычным интерфейсом. По сути, был создан не сайт о НХЛ, а готовый цифровой продукт с собственной бизнес-моделью.
Проект был полностью разработан и передан заказчику, после чего сайт был поставлен на паузу по причинам, не связанным с командой разработки — поэтому конкретные бизнес-метрики (рост подписок, доход и т.д.) в рамках этого кейса не приводятся как неподтверждённые.
