Научная статья Original article УДК 004.5
МОБИЛЬНОЕ ПРИЛОЖЕНИЕ ДЛЯ АВТОМАТИЗАЦИИ ВЗАИМОДЕЙСТВИЯ ПОСЕТИТЕЛЕЙ С ПАРКОМ ДЛЯ ПЛАТФОРМЫ ANDROID
MOBILE APP FOR AUTOMATION OF INTERACTION OF VISITORS WITH THE PARK FOR THE ANDROID PLATFORM
Макуха Любовь Витальевна, старший преподаватель кафедры Вычислительная техника, Сибирский федеральный университет, Россия, г. Красноярск
Овсянников Владислав Алексеевич, студент, Сибирский федеральный университет, Россия, г. Красноярск
Makukha Lyubov Vitalievna, Senior Lecturer, Department of Computer Science, Siberian Federal University, Russia, Krasnoyarsk
Ovsyannikov Vladislav Alekseevich, student, Siberian Federal University, Russia, Krasnoyarsk
Аннотация: Цель статьи заключается в применении IT-технологий в инфраструктуре современных парков и создании решения для их интеграции. В ходе рассмотрения были выявлены главные плюсы цифровизации парков, которые были учтены при разработке проекта, приведены средства, используемые для создания мобильного приложения и показан его основной функционал. В результате были разработаны веб-сервер и мобильное
2880
приложение для более быстрого и удобного взаимодействия посетителей с парком.
Abstract: The purpose of the article is to apply IT technologies in the infrastructure of modern parks and create a solution for their integration. During the review, the main advantages of digitalization of parks were identified, which were taken into account in the development of the project, the means used to create a mobile application were given and its main functionality was shown. As a result, a web server and a mobile application were developed for faster and more convenient interaction of visitors with the park.
Ключевые слова: Парк, IT, Android, веб-сервер, сайт, карта, Kotlin, билет.
Keywords: Park, IT, Android, web server, website, map, Kotlin, ticket.
На данный момент большое количество парков развлечений России, особенно открытые и имеющие аттракционы, сегодня несколько отстают в плане использования IT-технологий в управлении, маркетинге и обслуживании посетителей. Отсутствует система обучения руководящего состава. Профессии "Директор парка" не существует. В большинстве парков отсутствуют отделы маркетинга и ивента. Посетители парка отдыхают по модели, сформировавшейся ещё сотню лет назад: интуитивно выбирают аттракционы, фуд-корты, мероприятия, о которых узнают зачастую только по прибытии в парк, по собственным критериям. А для покупки билетов на аттракционы или другие мероприятия приходится стоять в длинных очередях к кассе, что в свою очередь может оттолкнуть некоторых посетителей. После 2020 года появилась ещё одна существенная причина к проведению цифровизации парка, связанная с мировой пандемией COVID-19 и сопровождающими её ограничительными мерами. В таких условиях необходим сервис для взаимодействия посетителей с парком, который позволит сократить количество возможных контактов с другими посетителями
2881
или персоналом, за счёт возможности покупки ими электронных билетов на аттракционы и мероприятия, что позволит сократить количество очередей, а также обеспечивать посетителей самой актуальной информацией о проводимых парком мероприятий, чтобы у посетителей была возможность быть в курсе событий без необходимости посещения ими парка лично.
Существующие сервисы, т.е. мобильные приложения и сайты парков, в целом позволяют решить проблему удалённого взаимодействия посетителя с парком, но, к сожалению, существующие решения разрешают эти проблемы не для всех парков на территории страны, потому что спроектированы под какой-то конкретный парк и позволяют посетителям взаимодействовать только с ним, а для каких-то парков эти сервисы решают не все возможные проблемы или вовсе отсутствуют.
Для того чтобы решить существующие проблемы взаимодействия посетителей с парком, а также устранить недостатки существующих решений, было разработано мобильное приложение для взаимодействия посетителей с выбранным ими парком.
Серверная часть написана на языке программирования Kotlin [1] с использованием фреймворка KTOR [2], все данные хранятся в СУБД PostgreSQL [3]. Мобильное приложение получает все данные о парке с сервера, а также отправляет туда пользовательские данные после авторизации и данные о билетах, приобретённых пользователем. Клиент-серверное взаимодействие осуществляется через интерфейс API. Арихитектура сервера представлена на рисунке 1.
Реализация мобильного приложения осуществлялась на языке программирования Kotlin в среде разработки программного обеспечения Android Studio [4] для мобильной операционной системы Android. Интерфейс системы представлен на рисунках 2 и 3.
Для хранения данных во внутренней базе данных устройства используется библиотека Room из Android Architecture Components.
2882
Предпотение данной библиотеке было отдано из-за большей гибкости и безопасности использования, чем у чистой SQLite, а также из-за наличия опыта работы с данной библиотекой. [5]
Для осуществления запросов к сети используется библиотека Retrofit2. Эта библиотека была выбрана из-за удобства и упрощения составления запросов к серверу, наличия подробной документации, большого количества примеров использования и наличия опыта работы с ней, к тому же данная библиотека в основном используется в большинстве приложений написанных для Android. [6]
Рисунок 1 - Архитектура сервера
Для перемещения между экранами была использована библиотека Navigation из Android Architecture Components, которую Google рекомендует использовать для перемещения между фрагментами. Данная библиотека
2883
позволяет создавать зависимости между экранами и предоставляет удобные инструменты для осуществления переходов между ними. [7]
Для загрузки изображений из сети используется библиотека Glide. Выбор на неё пал из-за простоты интеграции и удобства использования. [8]
Для интеграции сервисов Google используются библиотеки из набора Google Services для интеграции Google Maps (для отображения карты), Google Pay (для соверешния оплаты) и Google Auth (для авторизации в приложении через аккаунт Google). [9] [10] [11]
Для авторизации в приложении через ВК было использовано VK SDK, предоставляемого самим ВКонтакте для работы с VK API. [12]
Рисунок 2 - Интерфейс мобильного приложения
При первом входе в приложение пользователю необходимо авторизоваться через один из аккаунтов социальных сетей (Google или VK), затем необходимо выбрать парк, который будет использоваться в приложении, для большего удобства парк можно будет искать по названию. После выбора парка можно начать полноценную работу с приложением. В разделе события
2884
будет доступна информация о различных событиях и мероприятиях парка. В разделе карта отображается карта парка с отмеченными объектами и для удобства окно с теми же объектами в виде списка и возможностью поиска по ним, после нажатия на объект отображается более подробная информация о нём и становится доступен функционал покупки билетов, если это предусмотрено. После покупки билетов отобразится диалоговое окно с информацией об успешной покупке. В разделе билетов располагается список приобретённых билетов, при нажатии на билет открывается подробная информация о нём. В профиле отображается информация о пользователе, а также доступна возможность выхода из своего аккаунта и смены парка.
Степан
+7 (•••) •••-80-16
Получать уведомления Рекомендованный контент
Эти настройки помогают делать парки лучше.
Выйти из аккаунта
Ш СШ Я &
Рисунок 3 - Интерфейс мобильного приложения
Приложения довольно простое в использовании, имеет дружелюбный и понятный интерфейс и содержит всю необходимую информацию о выбранном парке, что делает взаимодействие посетителя с парком максимально удобным
2885
Список литературы:
1. Kotlin Programming Language [Электронный ресурс]. URL -https://kotlinlang.org.
2. Ktor Framework [Электронный ресурс]. URL - https://ktor.io.
3. PostgreeSQL [Электронный ресурс]. URL - https://www.postgresql.org/.
4. Kotlin and Android [Электронный ресурс]. URL -https: //developer.android.com/studio.
5. Save data in a local database using Room | Android Developers [Электронный ресурс] - Режим доступа URL - https://developer.android.com/training/data-storage/room?hl=nb.
6. Retrofit» [Электронный ресурс] - Режим доступа URL -https: //square.github. io/retrofit.
7. Get started with the Navigation component | Android Developers [Электронный ресурс] - Режим доступа URL -https: //developer.android.com/guide/navigation/navigation-getting-started?hl=lt.
8. Glide v4 : Fast and efficient image loading for Android [Электронный ресурс] - Режим доступа URL - https://bumptech.github.io/glide.
9. Get Started | Maps SDK for Android | Google Developers [Электронный ресурс] - Режим доступа URL: https://developers.google.com/maps/documentation/android-sdk/start?hl=ru.
10. Integrating Google Sign-In into Your Android App [Электронный ресурс] -Режим доступа URL - https://developers.google.com/identity/sign-in/android/sign-in?hl=ru.
11. Руководство пользователя | Google Pay API для Android [Электронный ресурс] - Режим доступа URL -https://developers.google.com/pay/api/android/guides/tutorial?hl=ru.
12. Android SDK | Разработчикам» [Электронный ресурс] - Режим доступа URL - https://vk.com/dev/android_sdk.
Referents
1. Kotlin Programming Language [Electronic resource]. URL -https://kotlinlang.org.
2. Ktor Framework [Electronic resource]. URL - https://ktor.io.
3. PostgreeSQL [Electronic resource]. The URL is https://www.postgresql.org/.
4. Kotlin and Android [Electronic resource]. URL -https: //developer.android.com/studio.
2886
5. Save data in a local database using Room | Android Developers [Electronic resource] - URL access mode - https://developer.android.com/training/data-storage/room?hl=nb.
6. Retrofit" [Electronic resource] - Access mode URL -https: //square. github .io/retrofit.
7. Get started with the Navigation component | Android Developers [Electronic resource] - URL access mode -https: //developer.android.com/guide/navigation/navigation-getting-started?hl=lt.
8. Glide v4 : Fast and efficient image loading for Android [Electronic resource] -URL access mode - https://bumptech.github.io/glide.
9. Get Started | Maps SDK for Android | Google Developers [Electronic resource] - URL access mode: https://developers.google.com/maps/documentation/android-sdk/start?hl=en.
10. Integrating Google Sign-In into Your Android App [Electronic resource] -URL access mode - https://developers.google.com/identity/sign-in/android/sign-in?hl=en.
11. User manual | Google Pay API for Android [Electronic resource] - URL access mode - https://developers.google.com/pay/api/android/guides/tutorial?hl=en.
12. Android SDK | Developers" [Electronic resource] - Access mode URL -https: //vk.com/dev/android_sdk.
©Макуха Л. В., Овсянников В.А. 2022 Научно-образовательный журнал для студентов и преподавателей «StudNet» №4/2022.
Для цитирования: Макуха Л. В., Овсянников В.А. МОБИЛЬНОЕ ПРИЛОЖЕНИЕ ДЛЯ АВТОМАТИЗАЦИИ ВЗАИМОДЕЙСТВИЯ ПОСИТИТЕЛЕЙ С ПАРКОМ ДЛЯ ПЛАТФОРМЫ ANDROID// Научно-образовательный журнал для студентов и преподавателей «StudNet» №4/2022.
2887