Функциональные характеристики
Назначение
«Пир2Пир» — цифровая платформа взаимодействия участников образовательного сообщества. Платформа предназначена для организации взаимных проверок учебных проектов: она подбирает участнику собеседника, способного провести проверку, и обеспечивает их последующее общение.
Основная решаемая задача — поиск проверяющего. Участник указывает учебный проект, по которому ему нужна проверка; платформа определяет круг участников, способных её провести, ранжирует их и последовательно направляет им запросы. После взаимного согласия открывается чат.
Программное обеспечение предоставляется по модели «программное обеспечение как услуга» (SaaS). Установка программного обеспечения на устройство пользователя не требуется.
Перечень функциональных характеристик
Регистрация и учётная запись
- регистрация по логину учётной записи образовательной организации;
- подтверждение владения учётной записью одноразовым кодом, направляемым на студенческий адрес электронной почты, образованный из логина;
- ограничение частоты запроса кодов и срока их действия;
- допуск к регистрации только действующих обучающихся — статус проверяется в открытом API образовательной организации;
- подключение дополнительных способов входа;
- удаление учётной записи участником с прекращением обработки его данных.
Учебный профиль
- периодическая синхронизация профиля из открытого API образовательной организации: кампус, поток, форма обучения, уровень, опыт, внутренние баллы, баллы за проверки;
- получение перечня учебных проектов участника и их статусов;
- хранение ежедневного среза показателей и записей о переходах проектов между статусами — история, недоступная во внешнем источнике, поскольку он хранит только текущее значение.
Подбор участников для взаимной проверки
- создание запроса на проверку с указанием кода учебного проекта;
- формирование круга участников, способных провести проверку, по данным учебного профиля;
- ранжирование кандидатов: приоритет взаимным парам, затем совпадение кампуса, затем накопленные баллы за проверки;
- ограничение подбора пределами одной страны обучения;
- последовательное направление запросов с ограничением числа одновременно необработанных обращений на одного участника;
- отображение числа потенциальных проверяющих до начала поиска;
- автоматическое прекращение поиска по истечении срока.
Обмен сообщениями
- чат между двумя участниками, открывающийся после взаимного согласия;
- два типа переписок: возникшие из подбора проверяющего и начатые напрямую по точному логину;
- обмен текстовыми сообщениями с поддержкой форматирования;
- передача вложений — изображения, документы, архивы — с ограничением размера;
- отметки о прочтении и счётчик непрочитанных сообщений;
- доставка сообщений в открытое приложение в реальном времени;
- автоматическое завершение неактивных переписок и удаление их содержимого по истечении срока хранения;
- фильтрация, сортировка и постраничный вывод списка переписок.
Уведомления
- доставка уведомлений в подключённые каналы;
- независимый учёт доступности каждого канала;
- управление участником согласием на получение запросов о проверке.
Лента объявлений
- получение объявлений образовательной организации и их хранение;
- отбор только объявлений, адресованных всем участникам;
- разграничение доступа: объявления кампуса видны только участникам этого кампуса;
- хранение изображений на собственной инфраструктуре.
Приглашение обучающегося, не зарегистрированного в сервисе
- направление одного короткого приглашения по точному логину;
- ограничения: суточный лимит на отправителя, лимит на получателя за период, повторное обращение к тому же получателю не ранее установленного срока;
- запрет ссылок в тексте приглашения;
- бессрочный отказ получателя от дальнейших обращений по ссылке из сообщения.
Отзывы о сервисе
- один отзыв от участника, публикуемый только после модерации;
- возврат отзыва на повторную проверку при его изменении;
- публикация только логина автора;
- отзыв в любой момент отзывается участником.
Учёт приглашений и рейтинг
- персональный код приглашения у каждого участника;
- учёт того, кто из участников присоединился по коду другого — однократно и неизменяемо;
- рейтинг по числу приглашённых, доступный зарегистрированным участникам;
- управление отображением своих данных в рейтинге: позиция сохраняется, идентифицирующие сведения скрываются.
Показатели использования
- расчёт агрегированных показателей: регистрации, начатые поиски, состоявшиеся подборы, начатые переписки, сообщения, активные участники;
- публикация обезличенных совокупных значений;
- подавление значений ниже порога, при котором они позволяют определить конкретного участника.
Доступность интерфейса
- Пользователи с ограничениями по слуху. Интерфейс не передаёт информацию звуком: платформа не содержит аудио- и видеоматериалов, голосового ввода и звуковых оповещений. Все сведения, включая уведомления, представлены в текстовом виде.
- Пользователи с ограничениями по зрению. Интерфейс построен на семантической разметке с текстовыми подписями элементов управления, областями динамического обновления, текстовыми альтернативами изображений и поддержкой навигации с клавиатуры. Поддерживается системная настройка уменьшения анимации, а также светлое и тёмное оформление.
Сведения о применяемых технологиях
Приводятся в соответствии с требованием к описанию функциональных характеристик — с указанием языка программирования, системы управления базами данных, операционной системы и средств хранения данных.
| Параметр | Значение |
|---|---|
| Язык программирования серверной части | C# (платформа .NET) |
| Язык программирования клиентской части | TypeScript |
| Система управления базами данных | PostgreSQL |
| Средства хранения данных | реляционная СУБД PostgreSQL; файлы вложений и изображений хранятся в базе данных, кэш статических ресурсов — на файловой системе сервера |
| Брокер сообщений | Apache Kafka |
| Операционная система серверной части | Linux (развёртывание в контейнерах) |
| Операционная система рабочего места пользователя | не регламентируется — требуется только браузер |
| Веб-сервер, обратный прокси | nginx |
| Протоколы | HTTPS, WebSocket/Server-Sent Events, OAuth 2.0 / OpenID Connect |
Сторонние компоненты распространяются по свободным лицензиям и не создают зависимости от иностранного правообладателя.