Дипломная работа на тему "ТЮМГУ | Разработка многопользовательского социального сервиса для общения и рисования"

Работа на тему: Разработка многопользовательского социального сервиса для общения и рисования
Оценка: отлично.
Оригинальность работы на момент публикации 50+% на антиплагиат.ру.
Ниже прилагаю все данные для покупки.
https://studentu24.ru/list/suppliers/Anastasiya1---1326

Описание работы

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное автономное образовательное учреждение высшего образования
«ТЮМЕНСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ»

ИНСТИТУТ МАТЕМАТИКИ И КОМПЬЮТЕРНЫХ НАУК
Кафедра информационных систем

РЕКОМЕНДОВАНО К ЗАЩИТЕ В ГЭК

ВЫПУСКНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА
бакалаврская работа
РАЗРАБОТКА МНОГОПОЛЬЗОВАТЕЛЬСКОГО СОЦИАЛЬНОГО СЕРВИСА ДЛЯ ОБЩЕНИЯ И РИСОВАНИЯ

09.03.02 Информационные системы и технологии Профиль «Информационные системы и технологии в бизнесе»

Тюмень 2022

РЕФЕРАТ
Отчет содержит 56 страниц, 30 рисунков, 11 таблиц, 24 источника.
Объектом исследования является принцип работы векторной графики и сервисы, ориентированные на социальную составляющую.
Цель работы: разработка многопользовательского сервиса для общения и рисования.
Поставлены и решены следующие задачи: изучена предметная область, определены главные функции, спроектирована база данных, спроектировано клиентское и серверное приложение, приложения разработаны и развернуты в сервисе Amazon Web Services.
Результат работы: создано и развернуто приложение для совместного рисования и общения «scribble.pub».
Ключевые слова: векторная графика, социальный сервис, веб-сокет, язык программирования Go, JavaScript-фреймворк React, PostgreSQL.

Содержание
ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ 5
Введение 8
Глава 1. Описание предметной области 10
1.1 Описание предметной области, цели и задач 10
2. Проектирование ресурса 11
2.1 Проектирование базы данных 11
2.2 Определение эндпойнтов для REST-API 19
2.3 Определение сообщений для Web-Socket 19
2.4 Проектирование интерфейса 20
2.5 Определение принципов работы холста 29
Глава 3. Разработка сервиса. 31
3.1 Разработка серверного приложения 31
2.1.1 Структура сервера 32
2.1.2 Холст 33
2.1.3 Чат 34
3.2 Клиентское приложение 35
2.2.1 React-компоненты 36
2.2.2 Родительский компонент 37
2.2.3 Компонент Chat 40
2.2.4 Компонент Scratchpad 41
2.2.5 Компонент TopBar 48
2.2.6 Компонент LogoCanvas 50
3.3 Развертывание приложения 50
Глава 4. Маркетинг, работа с аудиторией и планы на развитие. 52
4.1 Маркетинг и работа с аудиторией 52
4.2 Планы развития и монетизация 54
ЗАКЛЮЧЕНИЕ 55
СПИСОК РЕСУРСОВ 56

ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ
Adobe Flash - мультимедийная платформа компании Adobe Systems для создания веб-приложений или мультимедийных презентаций.
Single Page Application - web-приложение, которое взаимодействует с пользователем путем динамического переписывания текущей страницы.
HSV - цветовая модель, в которой координатами цвета являются цветовой тон, насыщенность и яркость.
Безопасные Web-цвета - 216 оттенков, которые отображаются максимально точно независимо от монитора компьютера или выбранного браузера.
Авторизация - предоставление определённому лицу или группе лиц прав на выполнение определённых действий.
JSON Web Token (JWT) - это открытый стандарт для создания токенов доступа, основанный на формате JSON.
JSON – текстовый формат обмена данными, основанный на JavaScript.
API - описание способов (набор классов, процедур, функций, структур или констант), которыми одна компьютерная программа может взаимодействовать с другой программой.
REST-API – API с передачей состояния представления.
Эндпойнт - обращение к маршруту отдельным HTTP методом.
Маршрутизация - процесс, который отвечает за определение обработчика для конкретной запрашиваемой страницы.
СУБД (Система управления базами данных) - совокупность программных и лингвистических средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных.
Многопоточность - свойство платформы или приложения, состоящее в том, что процесс, порождённый в операционной системе, может состоять из нескольких потоков, выполняющихся «параллельно».
WebSocket — протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени.
Горутина – функция в языке Go, которая выполняется параллельно с другими горутинами.
Векторная графика — способ представления графических объектов и изображений в компьютерной графике, основанный на математическом описании элементарных геометрических объектов.
Никнейм – псевдоним, используемый пользователем в интернете.
Адаптивная верстка - способ создания веб-страниц, при котором они автоматически подстраиваются под размеры и ориентацию экрана.
Репозиторий — место, где хранятся и поддерживаются какие-либо данные.
CSS препроцессор - программа, которая имеет свой собственный синтаксис, но может сгенерировать из него CSS-код.
Фреймворк - программная платформа, определяющая структуру программной системы; программное обеспечение, облегчающее разработку и объединение разных компонентов большого программного проекта.
LocalStorage - внутренняя небольшая база данных, которая хранит какие- то данные внутри браузера.
SCP - утилита командной строки Linux, которая позволяет безопасно копировать файлы и каталоги между двумя локациями.
SSH - сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой.
Монетизация - процесс, во время которого человеческие навыки, как продукт, позволяют владельцу извлекать прибыль из проекта
Рефакторинг - процесс изменения внутренней структуры программы, не затрагивающий её внешнего поведения и имеющий целью облегчить понимание её работы.
Хостинг - услуга по предоставлению ресурсов для размещения информации на сервере, постоянно имеющем доступ к сети (обычно Интернет).
Маркетинг - организационная функция и совокупность процессов создания, продвижения и предоставления продукта или услуги покупателям и управление взаимоотношениями с ними.
Сборка - подготовленный для использования информационный продукт.
Авторизация - предоставление определённому лицу или группе лиц прав на выполнение определённых действий.

Введение
В узких кругах был известен портал lunchtimers.com, который был создан для общения и рисования людей вместе. Сайт был написан на технологии Adobe Flash, поддержка которого была прекращена в начале 2021 года, и переписывать все с нуля основателю сайта не хотелось. Было решено создать новый сайт с подобным функционалом, но на современных технологиях и с новыми возможностями.
Группа энтузиастов, состоящая из бывших пользователей lunchtimers сейчас ведет разработку сайта scribble.pub – идейного наследника lunchtimers. Разработка идет в качестве сайд-проекта группы людей, которые им занимаются в свободное от работы время. Создатели оригинального сайта в разработке не участвуют.
Актуальность проекта – у сайта lunchtimers была своя устоявшаяся аудитория в несколько сотен человек, создание новой его версии приведет на сайт еще больше людей. Возможна монетизация с помощью рекламы или платных подписок.
Цель выпускной квалификационной работы – создание новой версии сайта lunchtimers с использованием современных технологий и учитывая современные тенденции веб-разработки.
Для успешной подготовки и защиты выпускной квалификационной работы автором ВКР использовались средства и методы физической культуры и спорта с целью поддержания должного уровня физической подготовленности, обеспечивающую высокую умственную и физической работоспособность. В режим рабочего дня включались различные формы организации занятий физической культурой (физкультпаузы, физкультминутки, занятия избранным видом спорта) с целью профилактики утомления, появления хронических заболеваний и нормализации деятельности различных систем организма.
В рамках подготовки к защите выпускной квалификационной работы автором созданы и поддерживались безопасные условия жизнедеятельности, учитывающие возможность возникновении чрезвычайных ситуаций.

СПИСОК РЕСУРСОВ
1. The Go Programming language – Текст электронный // GO [сайт]
2. React – A JavaScript library for building user interfaces– Текст электронный// React.js [сайт]
3. IntelliJ IDEA: The Capable & Ergonomic Java IDE by JetBrains– Текст электронный // JetBrains [сайт]
4. WebStorm: The Smartest JavaScript IDE, by JetBrains – Текст электронный // JetBrains [сайт]
5. JavaScript | MDN – Текст электронный // Mozilla Developer Network [сайт]
6. PostgreSQL: The world's most advanced open source database. – Текст электронный // PostgreSQL [сайт]
7. DataGrip: The Cross-Platform IDE for Databases & SQL by JetBrains. – Текст электронный // JetBrains [сайт]
9. Using OAuth 2.0 to Access Google APIs | Google Identity | Google Developers. – Текст электронный // Google Developers [сайт] U
10. Redis. – Текст электронный // Redis [сайт]
11. gorilla/mux
12. The One DevOps Platform | GitLab – Текст электронный // Gitlab [сайт]
13. Explaining BSON With Examples – MongoDB – Текст электронный // MongoDB [сайт]
14. TypeScript: JavaScript With Syntax For Types – Текст электронный // TypeScript [сайт]
15. Sass: Syntactically Awesome Style Sheets. – Текст электронный // SASS [сайт]
16. Redux - A predictable state container for JavaScript apps. | Redux – Текст электронный // Redux.js [сайт]
17. Declarative routing for React apps at any scale | React Router – Текст электронный // React Router [сайт]
18. scribble.pub animations - GIFs - Imgur. // Imgur [сайт]
19. Cloud Computing Services - Amazon Web Services (AWS) – Текст электронный // Amazon Web Services [сайт]
20. Youtube.
21. ВКонтакте.
22. TikTok.
23. DeviantArt - The Largest Online Art Gallery and Community – Текст электронный // DeviantArt [сайт]
24. Discord | Your Place to Talk and Hang Out. – Текст электронный // Discord [сайт]

НЕ НАШЛИ, ЧТО ИСКАЛИ? МОЖЕМ ПОМОЧЬ.

СТАТЬ ЗАКАЗЧИКОМ