Сгенерировать турнирную таблицу, где команды разделены на 2 дивизиона A и B. В каждом дивизионе команды играют каждая с каждой и, в конечном результате, 4 лучшие команды из каждого дивизиона выходят в плей-офф. График игр плей-оффа проходят по принципу "ёлочки": лучшая команда играет против слабейшей, где победитель проходит дальше, а проигравший выпадает из дальнейшего участия. В результате победит та команда, которая выиграет во всех играх плей-оффа.
Дополнительные условия к задаче:
- реализовать на PHP8
- в реализации показать свои лучшие знания по ООП
- важны архитектура приложения и тесты
- чтобы не пришлось вводить все результаты вручную, реализовать генератор данных, например по нажатию на кнопки заполнить результаты для дивизиона A, B, и затем для таблицы плей-офф
- UI на своё усмотрение (пример в приложении), много времени затрачивать не нужно, можно использовать фреймворки
- результаты должны сохраниться в базу данных (mysql/postgresql)
- можно использовать фреймворк на своё усмотрение symfony
- PHP 8.4
- Symfony 7.2
- PostgreSQL 16
- Docker / Docker Compose
- PHPUnit
Для удобства команды запуска и настройки внесены в Makefile.
make env make install make migrate make fixtures make create-test-db make test make clear-cache make down make composer-update make logs make phpstan make ecs-check make ecs-fix make rector