Тип работы:
Предмет:
Язык работы:


Разработка децентрализованного чата с функцией видеосвязи

Работа №116030

Тип работы

Бакалаврская работа

Предмет

программирование

Объем работы67
Год сдачи2022
Стоимость4700 руб.
ПУБЛИКУЕТСЯ ВПЕРВЫЕ
Просмотрено
38
Не подходит работа?

Узнай цену на написание


Аннотация 2
Введение 5
Глава 1 Изучение актуальности понятия децентрализации 7
1.1 Исследование предметной области 7
1.2 Выбор технологии разработки чата с функцией видеосвязи 9
Глава 2 Разработка серверной части децентрализованного чата с функцией видеосвязи 19
2.1 Выбор среды разработки и фреймворков (библиотек) 19
2.2 Создание файлов и подключение пакетов 22
2.3 Настройка работы веб-сокетов 25
Глава 3 Разработка клиентской части 28
3.1 Требования к интерфейсу приложения 28
3.2 Создание веб-приложения с помощью библиотеки «React» 29
3.3 Создание необходимых файлов и компонентов 31
3.4 Функциональное тестирование чата 45
Заключение 50
Список используемой литературы 52
Приложение А Код файла index.js (серверная часть) 55
Приложение Б Код файла App.js 56
Приложение В Код файла SocketContext.js 58
Приложение Г Код компонента Videoplayer 60
Приложение Д Код компонента Options 62
Приложение Е Код компонента Notifications 65

Актуальность темы исследования децентрализации в стремительно развивающихся технологиях обуславливается переходом множества информационных отраслей на новый этап развития: на основе децентрализованных сетей уже второе десятилетие развивается криптоэкономика, а во Всемирной паутине возникает концепция «Web 3.0», появляются сервисы децентрализованного хранения данных. Распределение возможностей и ответственности между участниками одной сети являются перспективной альтернативой централизованным технологиям. Данная работа выполнялась по инициативе автора.
Общение между клиентами без использования серверов уже используется программами многих компаний, из которых самые известные это Google - «Google Meet» и «Zoom».
Проблема быстрой и доступной связи сегодня актуальна, так как сотовая связь еще не может обеспечить покрытие во всех уголках планеты. Для организации как можно лучшего качества необходимо уменьшать количество посредников, на которых задерживается связь.
Целью данной работы является описание и анализ способов разработки децентрализованного чата с функцией видеосвязи.
Объектом изучения является организация связи в одноранговой сети.
Предмет изучения - способы передачи информации в децентрализованной сети, а также разработка для этих целей программного обеспечения.
Выполненная работа решает проблему выбора наиболее подходящих сред и средств разработки приложения, организующего связь.
Путем сравнительного анализа протоколов передачи данных определяется технология разработки проекта.
Теоретическая значимость состоит в систематизации теоретических знаний вопроса исследования и его актуализация.
Практическим значением разработки децентрализованного чата с функцией видеосвязи является подтверждение практичности данного вида связи, рассмотрение разницы преимуществ протоколов и определение сложности реализации проекта.
ВКР состоит из введения, трех глав, заключения, списка литературы и приложений.
В первой главе проведено изучение развития Всемирной паутины, определены понятия децентрализации, рассмотрены этапы развития вэба, изложены протоколы и технологии передачи информации в одноранговых сетях, описаны методы передаваемых запросов.
Во второй главе проведено сравнение популярных библиотек среды разработки Node.js, таких как React, Vue и Angular. Описаны шаги разработки сервера сигнализации и проверки его работы.
Третья глава посвящена разработке клиентской части видеочата, описаны библиотеки и порядок создания компонентов приложения. Проведена проверка работы проекта между двумя удаленными устройствами, проведено тестирование приложения и его сравнение с аналогами, использующими другие технологии.

Возникли сложности?

Нужна помощь преподавателя?

Помощь в написании работ!


Изучив концепции развития, тренды и актуальность изучаемого вопроса была доказана практичность децентрализованного обмена данными, как возможность без применения лишних промежуточных узлов взаимодействия пиров. Взаимодействия такого плана позволяют избавиться от администраторов и серверов, предоставляя больше возможностей участникам сети, распределяя вычислительную нагрузку и роли равномерно между включенными в сеть участниками. Исследовав текущее состояние концепций разработки ПО для Всемирной паутины можно сказать, что в перспективе дальнейшее стремление к децентрализации может иметь одну из главных ролей.
Ознакомившись с историей развития интернета и Всемирной паутины удалось изучить и изложить их концепции и характеристики, направления развития и отношение к вопросам децентрализации.
В результате проведенного исследования удалось ознакомиться с разными аспектами и возможностями реализации принципов децентрализации в процессе разработки видеочата. Как итог - веб-приложение обладает необходимыми возможностями для создания соединения «клиент - клиент».
Анализ способов передачи данных позволил выбрать оптимальные решения в вопросе выбора протоколов передачи данных и подбора подходящих средств разработки.
Были представлены диаграмма классов технологии WebRTC и ее диаграмма потока данных («DF»). Для самого приложения создана диаграмма вариантов использования («use case diagram»).
Проведено функциональное тестирование приложения, и результаты отображены передачей пакетов данных в консоли браузера.
При разработке проекта мы ознакомились с синтаксисом написания компонентов, использованием их состояния и последующего отображения на странице. Также была изучена и отображена работа «хуков» библиотеки «React».
В процессе исследования библиотек и пакетов удалось подтвердить удобство пользованием пакетами управления веб-сокетами, которые одновременно реализуют и функционал сервера сигнализации, и функционал клиентской части приложения. Библиотека работы с пользовательскими интерфейсами «React» соответствует требованиям актуальности для разработки подобных приложений.
Так как приложение используется небольшим количеством участников оно приобретает еще некоторые преимущества: малая загруженность (благодаря чему скорость связи не будет снижаться), конфиденциальное средство общения (связь организовывается между двумя участниками по индивидуальному идентификатору, соединение защищено протоколом шифрования данных HTTPS), безопасность личных данных (данные не хранятся на сервере и удаляются сразу при разрыве соединения). Также к преимуществам разработанного веб-приложения можно отнести гибкость планировки. При необходимости его можно снабдить необходимыми компонентами или поменять внешний вид, что в последующем отобразиться у всех пользователей без необходимости переустановки программного обеспечения.
В перспективе дальнейшей разработки полученного приложения, добавления ему дополнительного функционала возможно получить удобное и многопользовательское приложение, которое не занимает памяти на устройствах пользователя. Также в дальнейшем развитии рационально добавить возможность групповых чатов с возможностью подключения множества пользователей.


1. Абстракция — ключ к простому коду. [Электронный ресурс]. URL: https://habr.com/ru/company/skillfactory/blog/508716/
2. Актуальность применения АИС в работе интернет провайдера // Гуманитарные научные исследования. 2015. № 12 [Электронный ресурс]. URL: https: //human.snauka.ru/2015/12/13222
3. Актуальная статистика и аудитория социальных сетей в мире и Беларуси. [Электронный ресурс]. - URL: https://belretail.by/article/digital- aktualnaya-statistika-i-auditoriya-sotsialnyih-setey-v-mire-i-belarusi
4. Александр Златков. Как работает JS: WebRTC и механизмы P2P-коммуникаций. [Электронный ресурс]. - URL: https://habr.com/ru/company/ruvds/blog/416821/
5. Алексей Погорелый «Web 3.0 — все о новом направлении с применением блокчейн стека» [Электронный ресурс]. - URL: https://inlnk.ru/DBkxYk
6. Бэнкс Алекс, Порселло Ева. React и Redux: функциональная веб-разработка. — СПб.: «Питер», 2018. — С. 336. — ISBN 978-5-4461-0668-4.
7. Даниил Шатухин Что такое Web 3.0, и почему он всем стал нужен [Электронный ресурс]. - URL: https://habr.com/ru/post/653533/
8. Джеймс Уиттакер Как тестируют в Google [Электронный ресурс]:[учебн.курс]/ Джеймс Уиттакер, Джейсон Арбон, Джефф Каролло. — СПб.: «Питер», 2014. — С. 320. — ISBN 978-5-496-00893-8.
9. Долженко А. И. Управление информационными системами [Электронный ресурс] : [учеб. курс] / А. И. Долженко. - 2-е изд., испр. - Москва : ИНТУИТ, 2016. - 181 с. : ил.
10. Дуглас Камер. Сети TCP/IP, том 1. Принципы, протоколы и структура = Internetworking with TCP/IP, Vol. 1: Principles, Protocols and Architecture. — М.: «Вильямс», 2003. — С. 880. — ISBN 0-13-018380-6.
11. Золотов С. Ю. Проектирование информационных систем [Электронный ресурс]: учеб. пособие / С. Ю. Золотов; Томский гос. ун -т систем управления и радиоэлектроники. - Томск: Эль Контент, 2013. - 86 с.
12. Котляров В. П. Основы тестирования программного обеспечения [Электронный ресурс] : [учеб. пособие] / В. П. Котляров. - 2-е изд., испр. - Москва : ИНТУИТ, 2016. - 335 с. : ил.
13. Коржов Валерий. Многоуровневые системы клиент-сервер. Издательство «Открытые системы», 1997;
14. Лукманова И. Г. Управление проектами [Электронный ресурс]: учеб. пособие / И. Г. Лукманова, А. Г. Королев, Е. В. Нежникова. - М.: МГСУ, 2013. - 171 с.
15. Мардан Азат. React быстро. Веб-приложения на React, JSX, Redux и GraphQL. — СПб.: «Питер», 2019. — С. 560. — ISBN 978-5-4461-0952-4.
...


Работу высылаем на протяжении 30 минут после оплаты.




©2025 Cервис помощи студентам в выполнении работ