Details
| Title | Разработка подсистемы викторин с оффлайн-доступом и поддержкой P2P-взаимодействия в мобильном приложении: выпускная квалификационная работа бакалавра: направление 02.03.02 «Фундаментальная информатика и информационные технологии» ; образовательная программа 02.03.02_02 «Информатика и компьютерные науки» = Development of a quiz subsystem with offline access and support for P2P interaction in a mobile application |
|---|---|
| Creators | Гамин Вадим Игоревич |
| Scientific adviser | Гончаров Александр Викторович |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | мобильное приложение ; викторина ; offline-first ; P2P ; синхронизация данных ; контекстный чат ; REST API ; Flutter ; Spring Boot ; PostgreSQL ; mobile application ; quiz service ; P2P interaction ; data synchronization ; contextual messenger |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 02.03.02 |
| Speciality group (FGOS) | 020000 - Компьютерные и информационные науки |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-4097 |
| Rights | Доступ по паролю из сети Интернет (чтение, печать, копирование) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42710 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Action 'Download' will be available if you login or access site from another network
| Group | Anonymous |
|---|---|
| Network | Internet |
В работе описываются проектирование и разработка подсистемы викторин для мобильного приложения «Амели», включая анализ сценариев парного взаимодействия пользователей и последующую проверку функционирования решения в online-, offline- и P2P-режимах. Созданный модуль интегрирован в клиент-серверную архитектуру мобильного приложения и обеспечивает прохождение как готовых, так и пользовательских викторин, фиксацию полученных результатов, обсуждение активности в соответствующем контексте, отправку push-уведомлений и синхронизацию данных. Клиентская часть приложения разработана на Flutter для платформы Android, а серверная составляющая реализована с применением Spring Boot REST API и базы данных PostgreSQL. Работа без постоянного подключения к сети поддерживается за счёт локального сохранения информации, формирования очередей отложенных действий и повторной передачи изменений после восстановления соединения. P2P-компонент применяется как вспомогательный канал прямого обмена между устройствами, через который передаются сообщения, события прохождения викторин и подтверждения доставки. Последовательно решены задачи анализа предметной области, формулирования требований, проектирования архитектуры, REST API, локального хранения, механизма синхронизации, P2P-взаимодействия и встроенного мессенджера. Реализованы Flutter-клиент, интеграция с backend- сервисами, серверная логика обсуждений, push-уведомления, очереди отложенных операций и прямой обмен событиями между устройствами. Проверка работоспособности охватила основные пользовательские сценарии и подтвердила сохранение данных при отсутствии сети, последующую синхронизацию накопленных изменений и передачу данных через P2P-канал в локальных сценариях. В качестве инструментальной базы исследования использовались информационные технологии и программные средства, обеспечивающие разработку, хранение данных, сетевое взаимодействие, тестирование и сопровождение программного решения. В их число вошли язык программирования Dart, фреймворк Flutter, Android SDK, Flutter SDK, среда разработки Android Studio, REST API, язык программирования Java, фреймворк Spring Boot, система управления базами данных PostgreSQL, локальные хранилища Hive и SharedPreferences, Flutter Secure Storage, библиотеки Provider, HTTP и Connectivity Plus, технология Google Nearby Connections для организации P2P-взаимодействия, сервисы Firebase Messaging, Firebase Crashlytics и Sentry, система сборки Gradle, а также система контроля версий Git.
The work considers the task of designing and implementing a mobile quiz service for the “Ameli” application - from the analysis of pair interaction scenarios to the verification of operation in online, offline, and P2P modes. The developed module is embedded in a mobile client-server application and supports viewing and completing quizzes, creating user content, saving results, contextual discussion of each quiz, push notifications, and data synchronization. The client side is implemented in Flutter for Android, the server logic is built on the Spring Boot REST API using PostgreSQL, and autonomous operation is provided by local data storage, queues of deferred operations, and repeated sending of changes after connection restoration. The P2P mechanism acts as an additional channel of direct exchange between devices: it is used to transmit messages, completion events, and delivery confirmations, while long-term storage and data reconciliation are provided by subsequent server synchronization. The tasks of analyzing the subject area, formulating requirements, designing the system architecture, REST API, local storage, synchronization mechanism, P2P interaction, and built-in messenger were consistently solved. The client part of the mobile application in Flutter, integration with backend services in Spring Boot, server logic of discussions, push notifications, data storage on the mobile client side, queues of deferred operations, and direct exchange of events between devices were implemented. The functionality verification covered the main user scenarios: viewing and completing quizzes, creating user content, saving results, sending messages, operating without network access, subsequent synchronization of accumulated changes, and P2P data transmission in local scenarios. The instrumental basis of the study included information technologies and software tools used for development, data storage, network interaction, testing, and maintenance of the software solution. These included the Dart programming language, the Flutter framework, Android SDK, Flutter SDK, Android Studio, REST API, the Java programming language, the Spring Boot framework, the PostgreSQL database management system, Hive and SharedPreferences local storage tools, Flutter Secure Storage, the Provider, HTTP and Connectivity Plus libraries, Google Nearby Connections technology for P2P interaction, Firebase Messaging, Firebase Crashlytics and Sentry services, the Gradle build system, and the Git version control system.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|