StudentNetwork

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

My Image

Архитектура Системы для осуществления взаимодействия студенческой аудитории и спортивных мероприятий «StudentNetwork»


1. Описание Системы

Система для осуществления взаимодействия студенческой аудитории и спортивных мероприятий «StudentNetwork» – это сервис, реализованный на веб сайте по адресу https://studentnetwork.ru/, который позволяет осуществлять взаимодействие студенческой аудитории и спортивных мероприятий, управлять командами, локациями, участниками, проводить подсчет и распределение аудитории с помощью чекинов.

Система состоит из CMS для администраторов, веб-сайта и адаптивной версии вебсайта для мобильных устройств.

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

Рисунок 1 - Схема взаимодействия элементов Системы

2. Используемые библиотеки и компоненты

В Системе используются следующие библиотеки и компоненты разработки и функционировании продукта, а также тип лицензии к ним:

• 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

3. Архитектура Системы

Архитектура Системы для осуществления взаимодействия студенческой аудитории и спортивных мероприятий имеет модульную структуру, отраженную в Рисунке 2. Она включает в следующие модули:

Мероприятия: анонсы, проходящие, завершенные.

Система информирования и рассылок: рассылки и письма.

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

Система рейтингов: рейтинги за активности в Системе.

Система управления мероприятиями. Создание мероприятий, делегирование ролей, управление командами (для менеджеров команд), управление секторами и участниками (для менеджеров секторов), фиксация чекинов (для контролеров).

CMS.

Рисунок 2 - Модульная структура Системы

Основные роли пользователей:

1. Гость, незарегистрированный посетитель. Видит публичный интерфейс.

2. Зарегистрированный пользователь. Имеет доступ к личному кабинету, может участвовать в мероприятиях. Регистрируется самостоятельно.

3. Организатор мероприятий. Назначается из числа зарегистрированных пользователей администратором в CMS. Имеет доступ к функционалу создания и проведения мероприятия, назначению ролевых меток, управлению голосованиями по ролевым меткам. Имеет возможность привязки менеджеров команд, менеджеров секторов и менеджеров Plus к созданному им мероприятию.

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

5. Менеджер секторов. Назначается из числа зарегистрированных пользователей администратором в CMS. Имеет доступ к функционалу управления посетителями сектора, при условии, что он привязан к сектору локации и мероприятию организатором мероприятия.

6. Менеджер Plus. Назначается из числа зарегистрированных пользователей администратором в CMS. Совмещает в себе функции менеджера команд и менеджера секторов.

5. Контроллер. Назначается из числа зарегистрированных пользователей администратором в CMS. После привязки к мероприятию организатором мероприятия получает возможность фиксировать проход на площадку аудитории посредством чекинов.