Details
Title | Разработка веб-приложения для организации и поиска мероприятий по настольным играм: выпускная квалификационная работа бакалавра: направление 09.03.04 «Программная инженерия» ; образовательная программа 09.03.04_01 «Технология разработки и сопровождения качественного программного продукта» |
---|---|
Creators | Колосовская Ангелина Александровна |
Scientific adviser | Шмаков Владимир Эдуардович |
Other creators | Леонтьева Т. В. |
Organization | Санкт-Петербургский политехнический университет Петра Великого. Институт компьютерных наук и кибербезопасности |
Imprint | Санкт-Петербург, 2025 |
Collection | Выпускные квалификационные работы ; Общая коллекция |
Subjects | веб-приложение ; настольные игры ; spring boot ; react ; postgresql ; jwt ; git ; docker ; kafka ; github actions ; микросервисы ; геймификация ; spa ; ci/cd ; тестирование ; rest api ; web application ; board games ; micro-services ; gamification ; testing |
Document type | Bachelor graduation qualification work |
File type | |
Language | Russian |
Level of education | Bachelor |
Speciality code (FGOS) | 09.03.04 |
Speciality group (FGOS) | 090000 - Информатика и вычислительная техника |
DOI | 10.18720/SPBPU/3/2025/vr/vr25-955 |
Rights | Доступ по паролю из сети Интернет (чтение) |
Additionally | New arrival |
Record key | ru\spstu\vkr\35770 |
Record create date | 7/30/2025 |
Allowed Actions
–
Action 'Read' will be available if you login or access site from another network
Group | Anonymous |
---|---|
Network | Internet |
Тема выпускной квалификационной работы: «Разработка веб-приложения для организации и поиска мероприятий по настольным играм». Работа посвящена созданию онлайн-сервиса, который помогает пользователям находить и организовывать встречи, посвящённые настольным играм. В ходе исследования были проанализированы существующие аналоги, выявлены их слабые стороны, а также определены потребности и ожидания целевой аудитории. На основе полученных данных было предложено и реализовано собственное решение, использующее трёхуровневую архитектуру. Клиентская часть создана с использованием React, серверная - на Spring Boot. В проекте применяются такие технологии, как PostgreSQL, Apache Kafka [14], Docker. Кроме того, в систему интегрированы элементы геймификации, направленные на повышение активности и вовлечённости пользователей. Особое внимание уделено вопросам безопасности, удобству интерфейса, масштабируемости приложения, а также автоматизации процессов развертывания и обновления с помощью CI/CD. Разработанный сервис может быть полезен игровым клубам, организаторам мероприятий и сообществам, увлечённым настольными играми.
The subject of the graduate qualification work is «Development of a web application for organizing and searching for board game events». This work is dedicated to the development of a convenient online platform for planning and discovering offline board game meetups. The study includes analysis of existing platforms and their shortcomings, and proposes a system aimed at uniting players and simplifying event organization. The backend is implemented with Spring Boot and integrated with PostgreSQL and Apache Kafka for asynchronous event processing. The frontend is developed using React and TypeScript as a Single Page Application (SPA). The application supports user authentication via JWT, user profiles, a system of achievements and ratings, and flexible event filtering by location, date, and game type. Additional features include Docker-based containerization, CI/CD automation with GitHub Actions, and deployment using Railway cloud platform. The result is a scalable, secure, and engaging service, suitable for use by board game communities and event organizers.
Network | User group | Action |
---|---|---|
ILC SPbPU Local Network | All |
|
Internet | Authorized users SPbPU |
|
Internet | Anonymous |
|
- ВВЕДЕНИЕ
- ГЛАВА 1. АКТУАЛЬНОСТЬ
- ГЛАВА 2. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ
- 2.1. Обзор существующих решений
- 2.1.1. Анализ BoardGameGeek (BGG)
- 2.1.2. Анализ Meetup
- 2.1.3. Анализ Тесера
- 2.1.4. Анализ Nastol.io
- 2.1.5. Выводы из анализа и идеи для собственного решения
- 2.2. Требования к разрабатываемому сервису
- 2.2.1. Функциональные требования
- 2.2.2. Технические требования
- 2.2.3 Требования к процессу разработки
- Вывод
- 2.1. Обзор существующих решений
- ГЛАВА 2. СПИСОК ТЕХНОЛОГИЙ
- 2.1. Формат данных для передачи между клиентом и сервисом
- 2.2. Серверная часть
- 2.2.1. Язык программирования
- 2.2.2. Архитектурный стиль REST
- 2.2.3. Project Lombok Library
- 2.2.4. Spring Framework Boot
- 2.2.5. Spring Security
- 2.2.6. Spring Data
- 2.2.7. Архитектурный шаблон MVC
- 2.3. База данных
- 2.4. Клиентская часть
- 2.4.1. Язык разработки: TypeScript
- 2.4.2 Фреймворк React и его особенности
- 2.4.3. Архитектура SPA (Single Page Application)
- 2.5. Система сборки
- 2.6. Тестирование
- 2.7. Авторизация
- 2.8. Система контроля версий
- 2.9. GitHub Actions
- 2.10. Railway
- 2.11. Среда разработки
- ГЛАВА 3. АРХИТЕКТУРА ВЕБ-ПРИЛОЖЕНИЯ
- 3.1. Клиентская часть
- 3.2. Серверная часть
- 3.3. Хранение данных
- 3.4. Взаимодействие компонентов и масштабируемость
- ГЛАВА 4. ПРОГРАММНАЯ РЕАЛИЗАЦИЯ
- 4.1. Общая структура проекта
- 4.2. Описание основных компонентов и классов
- 4.2.1. Модельный слой
- 4.2.2. Контроллеры
- 4.2.3. Сервисный слой
- 4.2.4. Репозитории (интерфейсы JPA)
- 4.2.5. DTO и маппинг между слоями
- 4.3. Авторизация и защита данных
- 4.4. Интеграция Apache Kafka
- 4.5. База данных
- 4.6. Реализация клиентской части
- 4.6.1. Архитектура и логика клиентской части
- 4.6.2. Интерфейс и навигация: обзор страниц приложения
- 4.7. Тестирование
- 4.7.1. Модульные тесты
- 4.7.2 Интеграционные тесты
- 4.7.3. Системные тесты
- 4.7.4. Нагрузочные тесты
- 4.8. Сборка и запуск
- ЗАКЛЮЧЕНИЕ
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
Access count: 0
Last 30 days: 0