Сервис для рекрутинга новых спортсменов в команду
Январь 2020

Сервис для рекрутинга новых спортсменов в команду

Сервис для рекрутинга новых спортсменов в команду
Разработали сервис для автоматизации процесса подбора новых спортсменов в команды.

Бизнес-логика

Разработанный сервис автоматизирует процесс поиска и подбора талантливых школьников в университетские команды. Он объединил в себе управление базой кандидатов, управление текущим составом, встроенные механизмы коммуникации (email, sms) и элементы социальной сети.

Сервис состоит из нескольких веб-приложений и мобильного клиента. Основными пользователями являются тренеры и сотрудники колледжей и университетов (в одной организации может быть до 25 команд по разным видам спорта), которые хотят иметь под рукой всю информацию о действующих и потенциальных спортсменах.

Сервис по подбору новых спортсменов в команду обладает рядом особенностей:

Профили спортсменов

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

Календарь

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

Оценка и статистика

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

Коммуникация со спортсменами

В приложении реализована возможность коммуникации в режиме прямых сообщений и массовых рассылок по Email или SMS. Система переписки группирует и отображает в виде диалога историю общения не только с самим спортсменом, но и с его родителями/тренерами. При этом ведется полная история коммуникаций с атлетом (онлайн и офлайн встречи, участие в мероприятиях и т.п.) и специальные алгоритмы, анализируя историю, выдают оценку качества коммуникаций и вероятность принятия приглашения в команду конкретным спортсменом.

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

Импорт/Экспорт

В системе реализованы сложные механизмы импорта и экспорта, которые позволяют гибко настроить выгрузку данных, а также сконфигурировать и настроить импорт данных. Кроме того, и импорт, и экспорт поддерживают возможность обработки очень большого объема данных. Это позволяет привлекать новые команды и переносить данные из конкурентных систем без потерь и без деградации уровня сервиса при “приземлении” больших команд (импортируемые базы могут содержать по несколько сотен тысяч спортсменов).

Формы

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

Интеграция с внешними системами

Сервис реализует защищенное публичное API, которое позволяет интегрироваться с несколькими внешними сервисами. Двусторонняя интеграция помогает поддерживать синхронизацию со специализированными спортивными базами и базами абитуриентов. Кроме того, публичное API используется для подключения Gmail и Outlook плагинов.

Архитектура

Поскольку мы оперируем большими объемами данных, мы построили приложение на микро-сервисной архитектуре, которая способна выдержать нагрузку и обеспечить стабильную работу. Кроме того, она обеспечивает столь необходимую нам гибкость в управлении ресурсами.

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

Челленджи в разработке и их решения

Высокая нагрузка

Система растет, объем данных растет, количество пользователей постоянно увеличивается. Для обеспечения высокого уровня сервиса, надежности и дальнейшей расширяемости, помимо микро-сервисной архитектуры, мы применяем облачные сервисы Azure, такие как Azure Functions, Azure SQL, Azure Service Bus.

Обработка больших объемов данных

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

Подключение к Google API

Поскольку система подключается к различным API Google и обменивается персональными данными, нам приходится проходить ежегодный Security Assessment. Это далеко не формальная процедура.

Для прохождения привлекаются лицензированные вендоры Google, которые проводят всестороннюю оценку, включающую Penetration Testing, анализ исходного кода, ручное тестирование API и UI. Прохождение требует постоянной поддержки высокого уровня безопасности приложения, актуализации используемых решений и библиотек, большого объема тестирования.

Результаты

Сервис уже внедрен и активно используется тысячами тренеров. В базе данных сотни команды, десятки университетов и миллионы спортсменов. С конечными пользователями взаимодействует порядка 10 инженеров поддержки.

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

Давайте найдем решение для вашего бизнеса!

Давайте найдем решение для вашего бизнеса!

Пожалуйста, заполните 'Имя'
Пожалуйста, заполните 'Телефон'
Пожалуйста, заполните 'Емейл'
Пожалуйста, заполните 'Сообщение'

Пожалуйста, заполните 'Имя и фамилия'
Пожалуйста, заполните 'Телефон'
Пожалуйста, заполните 'Емейл'
Выберите файл
Пожалуйста, выберите файл 'Резюме'
Выберите файл
Пожалуйста, прикрепите файл 'Код / ТЗ'