Люди интересовались спортом всегда. От соревнований на меткость на мамонтовом сафари и состязаний голых мужиков на древних Олимпийских играх до хоккейных турниров на призы президента и беготни с мячом в соседнем дворе по вечерам. И если для одних спорт – это «сколько там вчера наши ненашим голов наколотили?», то другие готовы считать каждый шаг и вздох своих кумиров. Спрос рождает предложение, и такие сайты как, например, FIFA.com, KHL.ru, NBA.com ведут подробнейший учет всевозможной статистики на любой вкус. Недавно мы пополнили этот список еще одним пунктом – сайтом ФК Динамо-Минск.
На старте проекта мы немного осмотрелись. Изучили сайты конкурентов, заглянули в другие виды спорта, привлекли старые «инсайдерские» связи:) И были шокированы…
Дряхлая CMS, все возможности которой сводятся к добавлению статей, выводу голосований и ротации баннеров спонсоров | Контент-менеджер-студент, кое-как стилизующий текст для добавления на сайт в Ворде | Неудачная структура сайта вынуждает администратора одни и те же данные вводить несколько раз, из-за чего в разных разделах может быть представлена противоречивая информация |
Полная независимость языковых версий, необходимость дублирования данных для них. Можно забыть отметить гол в английской версии сайта, и Вася Петров станет лучшим бомбардиром только в русскоязычном разделе | Всё руками. Забили гол – отметь это на странице матча, в календаре, в турнирной таблице, в профиле отличившегося игрока, в статистике «гол+пас», в списке бомбардиров и еще бог знает где. |
Ко всему этому иногда еще добавляются дизайн из девяностых или пугающая табличная (хорошо, хоть не фреймовая) верстка… Зрелище печальное, не приносящее радости и удовлетворения ни болельщикам, ни команде. Сайт не удобен для администрирования и недостаточно информативен для посетителей.
Удобная CMS. Удобная и для администраторов сайта и для разработки конкретно этого проекта и для расширения возможностей в перспективе | Защита от малоквалифицированного администратора сайта. Понятность, логичность и простота работы в админке. Минимум возможностей «случайно всё поломать» | Целостность и уникальность данных. Любые данные вводятся ОДИН РАЗ, а выводятся в нескольких разделах в различном контексте. |
Идентичность статистики в разных языковых разделах (Помним, что данные всё еще вводятся только ОДИН РАЗ) | Автоматические расчеты на основе всё тех же введенных один лишь раз данных | Устойчивость к нагрузкам. Потребуется масса вычислений, а значит, и ресурсов сервера. При этом сайт должен стабильно работать и при большом количестве посетителей |
Мы решили использовать для этого проекта X3MCMS, т.к. среди прочего она давала широкий простор для расширения возможностей сайта и хорошую производительность при трудоемких расчетах. Готового «спортивно-статистического» функционала в ее составе тогда не было, и нам пришлось разработать специальный модуль. Для его организации требовалась тщательно продуманная схема хранений данных и проработка интерфейса администраторской части для удобства ведения протоколов игр. Для обеспечения устойчивой работы при больших нагрузках мы решили применять многоуровневое кеширование данных с различной длительностью периодов актуальности кеша. А для правильной настройки расчетов понадобилось погружение в футбольные правила, благо специалисты у нас имелись:)
Три полноценные языковые версии позволяют любому посетителю чувствовать себя на сайте как дома
Единое хранилище событий, по которым и производится весь расчет статистики. Данные о составах, голах, заменах, нарушениях и др. вносятся в протоколы матчей в специализированном модуле CMS. Модуль может быть настроен для отображения нескольких нужных в данный момент администратору вкладок, например при ведении онлайн-трансляции можно показать содержимое блоков “Онлайн-трансляция”, “Голы” и “Протокол”, а перед началом матча – отобразить таблицы с составами и расстановкой команд.
Полная статистическая выкладка по всем вообразимым показателям доступна как по матчам…
…так и по отдельным игрокам. Вся статистика динамически актуализируется прямо во время игры на основе данных, которые вносятся в протоколы матчей.
Автоматически обновляющиеся текстовые онлайн-трансляции позволяют следить за событиями матча в режиме реального времени, а также ознакомиться с подробным описанием хода игры в любой удобный для посетителя момент. Кроме того есть возможность и видеотрансляции матчей.
Информативные протоколы матчей с указанием составов команд, бригады арбитров, ключевых событий матча и многого другого. Здесь же, в протоколе, проводится и голосование за лучших игроков матча по мнению посетителей сайта.
Наглядное представление расстановки игроков на поле описывает тактические построения и стратегические планы команд
Разнообразные рейтинги показывают лидеров команды по различным показателям. Календарь сезона позволяет наглядно оценить плотность матчей, результативность и прогресс команды, а также скорректировать личные планы болельщиков на ближайший месяц.
Учитываются все матчи команды во всех соревнованиях – начиная от первенства дублирующих составов и товарищеских игр до матчей еврокубков. Реализованы различные формулы проведения турниров: круговая, в два круга с последующим делением на подгруппы, кубковая на выбывание, единичные матчи; есть возможность расширения для других типов турниров. Обрабатываются и форс-мажорные обстоятельства вроде технических поражений или штрафов в виде снятия с команд очков за нарушения регламента турнира и т.п.
Профиль игрока содержит не только информацию о его игре в составе «Динамо», но и подробную биографию, историю выступления за другие клубы, текущие показатели, список наград и трофеев, свежие новости, фото- и видеогалереи.
Посетителям доступна внушительная коллекция фото- и видеоматериалов. Здесь же можно отметить понравившуюся фотографию или ролик и обсудить материалы в комментариях с другими болельщиками
Также на сайте реализованы архив игроков, история трансферов, данные по детским и юношеским командам, интеграция с партнерскими новостными сервисами, голосования, опросы, онлайн-конференции тренеров и игроков, магазин сувенирной продукции и многое другое – как говорится, лучше один раз увидеть
На основе этого проекта мы сделали отдельный модуль учета спортивной статистики для X3M.CMS, который теперь включен в ее коробочную версию и доступен для интеграции на других сайтах. В том числе и на вашем :) Не теряйте времени – пишите на info@abiatec.com, мы поможем!
Проведите конкурс среди участников CMS Magazine
Узнайте цены и сроки уже завтра. Это бесплатно и займет ≈5 минут.