Обзор платформ для проведения мероприятий. Архитектура базы данных. Интерфейс платформы, ее реализация. Создание фестиваля и его редактирование. Проектирование административных страниц платформы. Кеширующие сервера и настройка. Загрузка шаблона для сайта.
ПРАВИТЕЛЬСТВО РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ НАЦИОНАЛЬНЫЙ ИССЛЕДОВАТЕЛЬСКИЙ УНИВЕРСИТЕТ Выпускная квалификационная работа на тему Платформа для создания IT поддержки фестивалей по направлению подготовки 09.03.04 «Программная инженерия»Работа посвящена платформе для создания IT-поддержки фестивалей. Почти каждый фестиваль, для посещения которого требуются билеты, нуждается в веб странице для их реализации. Кроме того, такая страница используется в качестве информационного портала, как важная составляющая маркетинговой стратегии. Среди функций можно выделить: загрузка шаблона страницы фестиваля в формате html, возможность отметить фестиваль, как архивный, загрузить изображения для каждого подобного архива. This paper aims to introduce web platform to solve ordinary problems of creating and maintaining event-related web pages which are raised every time such as connecting to an existing acquiring system for selling tickets, scaling the capacity of the web server according to the average load factor.В работе рассматривается создание веб платформы для оказания IT поддержки фестиваля. Под фестивалем в данной работе понимается мероприятие, на которое можно купить билет и для которого на базе платформы создается веб страница. В настоящее время не выявлено ни одной платформы для размещения веб страниц периодически повторяющихся фестивалей. Проводящим фестиваль организаторам приходится закупать рекламу на рекламной площадке веб сервиса. Разрабатываемая в рамках выпускной квалификационной работы платформа решает эти проблемы, ведь для каждого подобного мероприятия выделяется свой домен.Фестиваль - это, прежде всего, масштабное мероприятие, посвященное какому-либо виду искусства, собирающее в одном месте большое количество людей, объединенных общим интересом в тематике фестиваля. Первые фестивали были музыкальными, и появились они в Англии, со временем популярность организации фестивалей росла, и на сегодняшний день существует огромное количество направлений фестивальной деятельности. Такие крупные события требуют тщательной организации и подготовки - требуется определить направленность фестиваля, выбрать место проведения, получить разрешение на проведение мероприятия у местных властей, составить четкий план, подсчитать бюджет, определиться с выбором участников, обеспечить эффективную рекламу. Наиболее эффективным методом решения этой задачи является создание веб страницы фестиваля, содержащей сведения о мероприятии, месте проведения, участниках и, конечно, с сервисом онлайн покупки билетов. Отсюда можно выявить следующие требования, предъявляемые к платформам для поддержки фестивалей (Рисунок 1): 1) Предоставление возможности создания разных типов билетов и их продажиВ первой главе был приведен обзор веб сервисов для IT поддержки мероприятий. На основе проведенного анализа решено разработать платформу, обеспечивающую IT-поддержку фестивалей, отличающуюся от существующих аналогов следующими функциями: 1) Возможность запрашивать номер машины при покупке определенного типа билетов (билеты, включающие парковочное место).Главный сервер-бизнес логика платформы, напрямую общается с обеими базами данных, а также с внешним модулем эквайринга.Поскольку потенциально необходима возможность изменения реализаций баз данныхуже на рабочей платформе (например изменить MYSQL на MARIADB [12])было принято решение использовать laravel [10]в качестве backendфреймворка. Если проверка пройдена, то CLOUDFLAREАНАЛИЗИРУЕТ нагрузку на кеширующие сервера и перенаправляет пользователя на минимально загруженный сервер. Кеширующие сервера возвращают нужную страницу, и в случае попытки покупки билета, посылают запрос по протоколу HTTP на главный сервер. Главный сервер, перенаправляет запрос в банк эквайер, где тот, в случае успешной оплаты билета, с помощью вебхука сообщает главному серверу что оплата прошла успешно и можно отправлять на указанную пользователем почту билет (Рисунок 3). Примерфайлаприведенниже: [webservers] cache1 ansible_connection=sshansible_user=root ansible_port=22 ansible_ssh_pass=pw1 ansible_host=IP1 cache2 ansible_connection=sshansible_user=root ansible_port=22 ansible_ssh_pass=pw2 ansible_host=IP2 cache3 ansible_connection=sshansible_user=root ansible_port=22 ansible_ssh_pass=pw3 ansible_host=IP3 cache4 ansible_connection=sshansible_user=root ansible_port=22 ansible_ssh_pass=pw4 ansible_host=IP4 cache5 ansible_connection=sshansible_user=root ansible_port=22 ansible_ssh_pass=pw5 ansible_host=IP5 cache6 ansible_connection=sshansible_user=root ansible_port=22 ansible_ssh_pass=pw6 ansible_host=IP6Во второй главе была предложена распределенная архитектура платформы, выбраны шаблоны проектирования, описаны модель данных и архитектура базы данных, предложена инфраструктура развертывания.
Введение
В работе рассматривается создание веб платформы для оказания IT поддержки фестиваля.
Под фестивалем в данной работе понимается мероприятие, на которое можно купить билет и для которого на базе платформы создается веб страница.
В настоящее время не выявлено ни одной платформы для размещения веб страниц периодически повторяющихся фестивалей. Этот факт является критичным для фестивалей с хорошей репутацией и обширным опытом проведения прошлых лет. Для подобных мероприятий необходимо иметь возможность рассказать об этом опыте для привлечения более широкой аудитории. Чтобы привлекать потенциальных покупателей билетов, необходимо различными способами привлекать трафик на страницу фестиваля. Поисковые машины, такие как Google [8] и Yandex [24], в случае размещения на сайте агрегаторе, таком как TIKETFOREVENT [17]или Timepad [18]работают малоэффективно. Это связано с тем, что домен для продвижения получается общим для различных, никак не связанных, мероприятий. Проводящим фестиваль организаторам приходится закупать рекламу на рекламной площадке веб сервиса. Такая реклама будет малоэффективна, поскольку охватывает только ту аудиторию, которая представлена на сайте агрегатора. [7]
Разрабатываемая в рамках выпускной квалификационной работы платформа решает эти проблемы, ведь для каждого подобного мероприятия выделяется свой домен. Владельцы фестивалей с помощью программистов верстают желаемую web страницу с любой логикой и настраивают для нее нужные метатеги, микроразметку и прочие необходимые для поисковых роботов элементы. Далее с помощью органического поиска или закупкой рекламы у поисковых площадок привлекают дополнительную аудиторию. Реклама, предоставляемая поисковыми площадками, будет гораздо эффективнее, так как в ней присутствует сегментация и таргетинг, который владелец настраивает под свое мероприятие, не говоря уже о гораздо большем охвате аудитории. В разрабатываемой платформе также имеется необходимая обвязка вокруг существующего банка-эквайера RFI банк[15]. В платформе реализована связь с облачным решением CLOUDFLARE [2] для управления нагрузкой, в случае резкого увеличения которой задействуются дополнительные кеширующие сервера.
В рамках выпускной квалификационной работы была поставлена цель создание веб платформы для оказания IT-поддержки фестивалей. Для достижения данной цели были поставлены следующие задачи: 1) Изучить потребности организаторов фестивалей, которым требуется веб страница
2) Осуществить обзор существующих популярных платформ для проведения мероприятий, выявить их основные недостатки.
3) Изучить систему управления конфигурациями Ansible[3] для автоматизации развертывания ПО.
4) Изучить реактивный ФРЕЙМВОРКVUE [20].
5) Изучить систему сборки модулей Webpack [23].
6) Разработать платформу для осуществления IT-поддержки фестивалей.
7) Разработать техническую документацию к созданному приложению: a. Техническое задание (ГОСТ 19.201-78);
b. Руководство оператора (ГОСТ 19.505-79);
c. Программа и методика испытаний (ГОСТ 19.301-78);
d. Текст программы (ГОСТ 19.401-78).
Работа структурирована следующим образом: в первой главе рассмотрены существующие веб сервисы для проведения мероприятий, их возможности и недостатки, проведено сравнение с разработанной платформой. Во второй главе рассмотрена архитектура платформы, описан принцип взаимодействия с платформой, участие сторонних сервисов.В третьей главе рассмотрен интерфейс платформы и ее реализация - описаны инструменты разработки клиентской части приложения, функционал административной части приложения, пользовательский интерфейс.В приложениях 1-4 представлена программная техническая документация в следующем составе: 1. Техническое задание (ГОСТ 19.201-78);
2. Руководство оператора (ГОСТ 19.505-79);
3. Программа и методика испытаний (ГОСТ 19.301-78);
4. Текст программы (ГОСТ 19.401-78).
Вывод
В первой главе был приведен обзор веб сервисов для IT поддержки мероприятий. Разобраны функции, которые они предоставляют, выявлены главные недостатки. На основе проведенного анализа решено разработать платформу, обеспечивающую IT-поддержку фестивалей, отличающуюся от существующих аналогов следующими функциями: 1) Возможность запрашивать номер машины при покупке определенного типа билетов (билеты, включающие парковочное место).
2) Создание архива прошлых мероприятий с возможностью добавления фото, видео и описания.
3) Предоставление отдельного домена, что обеспечит более эффективную работу поисковых систем и привлечение трафика на страницу.
4) Регулирование возможности покупки определенных типов билетов.
5) Возможность сгенерировать промокоды на определенное количество билетов.
В следующей главе будет рассмотрена архитектура платформы, будет описан принцип взаимодействия с платформой, участие сторонних сервисов.Во второй главе была предложена распределенная архитектура платформы, выбраны шаблоны проектирования, описаны модель данных и архитектура базы данных, предложена инфраструктура развертывания. Также рассмотрены и обоснованы решения, связанные с вопросами кеширования данных, взаимодействия со сторонними сервисами.
В следующей главе описаны некоторые экраны платформы, а также изучено их поведение в различных ситуациях.
Вы можете ЗАГРУЗИТЬ и ПОВЫСИТЬ уникальность своей работы