Система для осуществления взаимодействия студенческой аудитории и спортивных мероприятий «StudentNetwork» – это сервис, реализованный на веб сайте по адресу https://studentnetwork.ru/, который позволяет осуществлять взаимодействие студенческой аудитории и спортивных мероприятий, управлять командами, локациями, участниками, проводить подсчет и распределение аудитории с помощью чекинов.
Система состоит из CMS для администраторов, веб-сайта и адаптивной версии вебсайта для мобильных устройств.
Схема взаимодействия компонентов Системы представлена на Рисунке 1.
Рисунок 1 - Схема взаимодействия элементов Системы
В Системе используются следующие библиотеки и компоненты разработки и функционировании продукта, а также тип лицензии к ним:
• Rails 6.0.6.1/Ruby 2.6.3/RubyGems 3.0.3
• pg_search 2.3.6, delayed_job 4.1.11, webpacker 4.47.0, jbuilder 2.11.5, tinymce-rails 6.4.1
• PostgreSQL 14.1
• Vue 2.6.11, Vanilla JS, Bootstrap 5.3.2
Архитектура Системы для осуществления взаимодействия студенческой аудитории и спортивных мероприятий имеет модульную структуру, отраженную в Рисунке 2. Она включает в следующие модули:
Мероприятия: анонсы, проходящие, завершенные.
Система информирования и рассылок: рассылки и письма.
Личный кабинет: личные данные пользователей, история мероприятий, делегированные мероприятия (для управляющих пользователей).
Система рейтингов: рейтинги за активности в Системе.
Система управления мероприятиями. Создание мероприятий, делегирование ролей, управление командами (для менеджеров команд), управление секторами и участниками (для менеджеров секторов), фиксация чекинов (для контролеров).
CMS.
Рисунок 2 - Модульная структура Системы
Основные роли пользователей:
1. Гость, незарегистрированный посетитель. Видит публичный интерфейс.
2. Зарегистрированный пользователь. Имеет доступ к личному кабинету, может участвовать в мероприятиях. Регистрируется самостоятельно.
3. Организатор мероприятий. Назначается из числа зарегистрированных пользователей администратором в CMS. Имеет доступ к функционалу создания и проведения мероприятия, назначению ролевых меток, управлению голосованиями по ролевым меткам. Имеет возможность привязки менеджеров команд, менеджеров секторов и менеджеров Plus к созданному им мероприятию.
4. Менеджер команд. Назначается из числа зарегистрированных пользователей администратором в CMS. Имеет доступ к функционалу добавления и редактирования членов команды, при условии, что он привязан к команде и мероприятию организатором мероприятия.
5. Менеджер секторов. Назначается из числа зарегистрированных пользователей администратором в CMS. Имеет доступ к функционалу управления посетителями сектора, при условии, что он привязан к сектору локации и мероприятию организатором мероприятия.
6. Менеджер Plus. Назначается из числа зарегистрированных пользователей администратором в CMS. Совмещает в себе функции менеджера команд и менеджера секторов.
5. Контроллер. Назначается из числа зарегистрированных пользователей администратором в CMS. После привязки к мероприятию организатором мероприятия получает возможность фиксировать проход на площадку аудитории посредством чекинов.