Ранее в рамках работы над данным проектом было реализовано программное решение, состоящее из веб-утилиты для внесения и просмотра данных и мобильного клиента для быстрого доступа к ним на основе облачной программной платформы Firebase. Данное решение позволяет сотрудникам тренерских штабов вносить данные об игроках, предстоящих и прошедших матчах и тренировках, однако не решает никаких аналитических задач.
Для улучшения и развития данного решения предлагается реализовать аналитический модуль, который позволит тренерам вносить игровые показатели для оценки важности различных игровых компонентов и эффективности отдельно взятых игроков. На основе этих оценок тренеры смогут оптимизировать тренировочный и рабочие процессы своих команд.
Имеющееся решение состоит из клиентского iOS-приложения для просмотра данных и веб-приложения для их внесения и корректировки. Хранение и обработка данных осуществляются посредством облачной платформы Firebase, инструменты для разработки в который предоставляются как в виде пакетов для языка программирования Swift (для мобильного приложения), так и для менеджера пакетов npm (для веб-приложения). Структура имеющегося решения представлена на рисунке ниже.
В рамках данного проекта предлагается реализовать аналитический модуль для оценки эффективности футболистов, который будет собирать статистические данные, вносимые тренерами об игроках и команде и на их основе выставлять игрокам оценки. Реализовать данный модуль предлагается на языке программирования Python, поскольку для данного языка существует набор библиотек, подходящих для поставленных нами задач. Так, библиотеки numPy и pandas позволят осуществлять операции с данными, их обработку и анализ, а библиотека Flask позволит создать REST-API для взаимодействия данной системы с другими модулями решения. Хостинг данного модуля предлагается осуществить на облачной платформе Microsoft Azure.
Также необходимо реализовать дополнительный функционал для iOS- приложения, который позволит тренерам вносить данные о футболистах в реальном времени. Для этого в приложение будет добавлен дополнительный экран, в котором тренер сможет засекать время, которое футболист провел на поле и отмечать различные действия, которые он осуществляет на поле (голы, пасы, удары, полученные карточки, и другие).
Структура итогового решения представлена на рисунке ниже.