telegram
Бои и турниры

БОЛЬШОЙ СПОРТ

 

Ссылка: https://globalrank.ru/

 

Стек: Symfony, MySQL, React + Next.js

 

О платформе: основной функционал проекта связанный с созданием турнирных сеток, был реализован минимально. Организатор был сильно ограничен в своих возможностях. 


 

С каким проектом к нам обратился заказчик:

 

Было доступно только следующее:

  • Создать турнирную сетку, в которой бойцы распределялись по дате регистрации на турнир. Иными словами можно было отследить, кто с кем и когда будет драться. Чем раньше боец зарегистрировался в турнире, тем раньше у него будет бой.
  • На одной локации (ковре) можно было создавать турнирные сетки для нескольких категорий, но расписание матчей при этому не было сквозным. Сначала отыгрывались по очереди все бои в одной категории (например от 1\16 до финала), и только потом начинались бои в другой категории, так же по очереди.


 

Что реализовали и каких результатов удалось добиться:

 

  1. Добавили уведомление участников о времени начала боя, посредством СМС сообщений. 

Если у участника турнира остается менее 15 минут до ближайшего боя, ему приходит СМС сообщением с текстом “Ваш бой начнется через 12 минут на ковре А. Соперник Иванов Иван”.

 

  1. Реализация drag and drop функционала для перемещения бойцов в турнирной сетке. 

У организатора турнира есть возможность перемещать участников до начала боя, с целью формирования более интересных пар участников, когда встречаются равные по силе бойцы или, когда нужно развести бойцов по различным причинам.

 

  1. Создан функционал апелляций - возможность изменить победителя матча используя drag and drop.

Если после завершения боя результат был аннулирован, то это можно изменить также и в турнирной сетки.

 

  1. Реализована логика построения турнирных сеток и формирования расписания матчей, в которой соблюдаются следующие условия:

 

  • Между боями одного бойца проходит максимально большое время отдыха.
  • Если на одной локации (ковре) участвуют несколько категорий, то нумерация боёв происходит сразу по всем категориям, а не в одной категории сначала проходят все бои, потом приступают к боям другой категории. 
  • Первыми всегда проходят бои наиболее отдалённые от финала (например в 1\32), далее все категории приводятся к общему раунду (например к 1\8) и так идут до финальных боёв.
  • Распределение бойцов при создании турнирной сетки происходит случайным образом, т.е. невозможно предугадать заранее, кто с кем будет драться.


 

Проект сейчас находится на поддержке. У заказчика есть еще множество идей, которые он хочет реализовать. А мы всегда только рады реализовывать самые неординарные, на первый взгляд, задумки наших клиентов!