Details
| Title | Приложение для совместного кодинга в реальном времени с использованием WebSockets: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_03 «Разработка программного обеспечения» = Application for real-time collaborative coding using WebSockets |
|---|---|
| Creators | Киров Вадим Вадимович |
| Scientific adviser | Петров Александр Владимирович |
| Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
| Imprint | Санкт-Петербург, 2026 |
| Collection | Выпускные квалификационные работы ; Общая коллекция |
| Subjects | совместное редактирование ; настольное приложение ; WebSocket ; Electron ; Go ; локальный runner ; версионирование документа ; collaborative editing ; desktop application ; local runner ; document versioning |
| Document type | Bachelor graduation qualification work |
| Language | Russian |
| Level of education | Bachelor |
| Speciality code (FGOS) | 09.03.04 |
| Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
| DOI | 10.18720/SPBPU/3/2026/vr/vr26-4320 |
| Rights | Доступ по паролю из сети Интернет (чтение) |
| Additionally | New arrival |
| Record key | ru\spstu\vkr\42722 |
| Record create date | 8/21/2026 |
Allowed Actions
–
Action 'Read' will be available if administrator prepare required files
| Group | Anonymous |
|---|---|
| Network | Internet |
Тема выпускной квалификационной работы: «Приложение для совместного кодинга в реальном времени с использованием WebSockets». Выпускная квалификационная работа посвящена разработке настольного приложения Kephale для совместного редактирования и локального запуска программного кода. Приложение позволяет создавать сессии, подключать участников по адресу backend в локальной сети, синхронизировать текст редактора через WebSocket, работать с файлами проекта и запускать код локально на компьютере инициатора. В рамках работы были решены следующие задачи: • анализ предметной области и обзор существующих решений для совместной разработки; • обоснование моделей совместной сессии, версионирования документа и безопасного локального запуска; • проектирование архитектуры на базе Electron, Go backend, WebSocket-hub, REST API и PostgreSQL; • реализация интерфейса редактора, подсистемы синхронизации и локального runner-а; • тестирование программного продукта, проверка безопасности и документирование ограничений. В результате разработано работоспособное настольное приложение Kephale. Разработанное решение удовлетворяет потребность в локально разворачиваемом инструменте для совместного программирования, где редактирование доступно участникам сессии, а выполнение программ контролируется локально и не передается удаленным пользователям автоматически.
Topic of the final qualifying work: "Application for real-time collaborative coding using WebSockets". This final qualifying work is devoted to the development of Kephale, a desktop application for collaborative editing and local execution of program code. The application allows users to create sessions, join them via the backend address in a local network, synchronize editor text via WebSocket, work with project files, and execute code locally on the initiators computer. The following tasks were completed as part of this work: • analysis of the domain area and a review of existing solutions for collaborative development; • justification of the session model, document versioning, and secure local execution; • design of an architecture based on Electron, Go backend, WebSocket hub, REST API, and PostgreSQL; • implementation of the editor interface, synchronization subsystem, and local runner; • testing of the software product, security checks, and documentation of limitations. As a result, a functional Kephale desktop application was developed. The solution meets the need for a locally deployable collaborative programming tool where editing is available to session participants, while program execution is controlled locally and is not automatically delegated to remote users.
| Network | User group | Action |
|---|---|---|
| ILC SPbPU Local Network | All |
|
| Internet | Authorized users SPbPU |
|
| Internet | Anonymous |
|