УДК 004.4
РАЗРАБОТКА МОБИЛЬНОГО ПРИЛОЖЕНИЯ ДЛЯ АВТОМАТИЗАЦИИ АРЕНДЫ СПОРТИВНОГО ИНВЕНТАРЯ
П. А. Безрук, В. Г. Ковалев Научный руководитель - К. В. Богданов
Сибирский государственный университет науки и технологий имени академика М. Ф. Решетнева Российская Федерация, 660037, г. Красноярск, просп. им. газ. «Красноярский рабочий», 31
E-mail: [email protected]
Рассматривается современный фреймворк кроссплатформенной разработки мобильного приложения и реализации бизнес-логики - Xamarin.
Ключевые слова: мобильные приложения, фреймворк, Xamarin.
DEVELOPING THE MOBILE APPLICATION FOR RENT AUTOMATIZATION
OF SPORTS EQUIPMENT
P. A. Bezruk, V. G. Kovalev Scientific Supervisor - K. V. Bogdanov
Reshetnev Siberian State University of Science and Technology 31, Krasnoyarsky Rabochy Av., Krasnoyarsk, 660037, Russian Federation E-mail: [email protected]
The research describes using the modern framework Xamarin for developing cross-platform mobile application and implementing business logic.
Keywords: framework, cross-platform mobile application, Xamarin.
Сегодня, с улучшением аппаратной части смартфонов, развивается разработка приложений для мобильных платформ. Одна из современных платформ для кроссплатформенной разработки - Xamarin позволяет в рамках одного проекта создавать пакеты приложения для разных мобильных платформ, таких как Android, iOS и Windows.
При помощи платформ .NET и Xamarin реализовывается или воспроизводится уже существующая бизнес логика, которую нет необходимости дублировать в нативных языках мобильных платформ таких, как Swift, Java. Xamarin Forms предоставляет общий набор интерфейсов API, который позволяет создавать общий уровень пользовательского интерфейса для всех платформ [3].
Существуют такие пакеты программ, которые делают бизнес-процессы автоматизированными, предоставляют удобный доступ к данным. Это позволяет оптимизировать финансовые расходы, затраты времени, а также уменьшить человеческий фактор. Аренда спортивного инвентаря - это область в которой необходимо внедрение такой автоматизации.
Большинство точек проката спортивного инвентаря не снабжены никаким программным обеспечением, позволяющим автоматизировать или упростить соответствующие процессы. К таким процессам можно отнести ручную запись данных клиентов, время аренды, полученные средства и пересчет платы за дополнительное время. Одно из главных преимуществ использования программного обеспечения, это автоматизация отчетов, выгрузки данных и контроля сотрудников.
Так как в сфере проката наличие компьютера или ноутбука приведет к дополнительным затратам, и не всегда им удобно пользоваться из-за активной деятельности работников, удобным и правильным решением будет использование мобильных приложений.
Секция «Программные средства и информационные технологии»
Для упрощения и защиты процессов внесения, визуализации и обработки данных, недостаточно одного программного обеспечения, работающего локально. Для него также необходим централизованный сервер, имеющий API (Application Programming Interface) для взаимодействия и обмена данных.
Серверная архитектура включает в себя базу данных MySQL и API на PHP. Так как идеология PHP не подразумевает фоновый цикл, который был бы запущен всё время и выполнял какие-либо действия, то для работы push-уведомлений, означающих конец аренды и другие события, был написан демон на C++. Он получает информацию о каждой новой аренде, после чего высчитывает в какой момент нужно будет снова обратиться к базе данных для подтверждения окончания аренды. Если аренда не была продлена, то формирует запрос к API, который, в свою очередь, отправляет push-уведомления операторам. В случае, если оператор досрочно заканчивает аренду, то API, получая данный запрос, вызывает у демона событие, означающее конец аренды.
Push-уведомления, со стороны PHP, отправляются посредством использования сервиса Firebase Cloud Messaging, разработанного компанией Google. Это позволяет избавиться от необходимости поднятия своего собственного push-сервера, который держал бы соединение с устройством Android [1].
Клиентская часть реализована с помощью Xamarin. Данный фреймворк предоставляет приложению методы для работы в фоновом режиме, где работает таймер и прослушиваются уведомления от сервера. Для хранения локальной информации о текущем операторе и арендах в памяти смартфона используется встраиваемая база данных на Android и iOS - SQLite.
SQLite - встраиваемая СУБД, которая имеет ряд ограничений, а именно нельзя производить запись в базу, если никаких других запросов не обслуживается. Поэтому операции CRUD должны выполняться только в защищенном локерами участках программы. SQLite позволяет работать мобильному приложению в офлайн-режиме, в случаях отсутствия сети или технических работах на сервере [2]. В базе сохраняются атрибуты, данные форм и информация аренд для их восстановления. Также используя базу данных, приложения не потеряет нужной информации после перезагрузки телефона. Все данные для времени аренд будут пересчитаны с учетом нового времени.
= Клиенты
© <*ь
GYRO CYCLE
Петров •00:Mk5ft О
Татьянов ♦00:00« о
Жмышенко ао: 15:23 о
Иванов 00:43:20 о
Сидоров 00:48-46 о
б
Основные формы приложения: а - добавление нового клиента; б - список текущих аренд; в - статистика по завершенным арендам.
Работать в программе могут только зарегистрированные пользователи. После установки приложения, пользователь заполняет личные данные и они отправляются на удаленный сервер.
а
в
В полученном ответе от сервера содержится хеш-сумма оператора. Все остальные методы API доступны только пользователям, которые имеют хеш. При каждом запросе к API, сервер сверяет переданный хеш с существующими в базе данных и определяет какой именно пользователь-оператор выполнил запрос. Во-первых, это позволит фильтровать ненужные запросы, избегать запросов уже не работающих сотрудников. Во-вторых, поможет соблюдать целостность базы и ее связей.
Отсчет времени у каждой сущности аренды привязывается к событию, которое работает в фоне, посылая каждую секунду сигнал. В случае выключения телефона, данные восстанавливаются из памяти смартфона или загружаются с удаленного сервера.
При завершении проката предусмотрен случай, когда клиенты сдает инвентарь не вовремя или интервал времени, превышающий допустимую задержку в пять минут, тогда для завершения, необходимо внести доплату. Доплата рассчитывается поминутно.
Разработана система отчетов, в которой можно по выбранной дате сформироваться вывод всех завершенных сделок и отправить их на электронную почту. Отчет формируется по каждому типу инвентаря отдельно.
На рисунке выше показаны основные формы разработанного приложения необходимые для работы операторов, которые применяются для автоматизации процесса сдачи в аренду.
На данном этапе не реализовано ведение клиентской базы, но ее наличие позволит разработать систему скидок, оповещений, которые очень ценятся для увеличения прибыли и притока новых клиентов.
Используя мобильное приложение, оператор затрачивает значительно меньше времени на обслуживание и отслеживание одного клиента. Контактная и другая необходимая информация хранится в памяти телефона, а также дублируется на сервер, что исключает ее потерю. Когда время аренды истекает, приложение информирует оператора. Поэтому сегодня приложения на мобильных платформах ускоряют и упрощают многие бизнес-процессы.
Библиографические ссылки
1. Удаленные уведомления с Google Cloud Messaging [Электронный ресурс]. URL: https://docs.microsoft.com/ru-ru/xamarin/android/data-cloud/google-messaging/remote-notifications-with-gcm (дата обращения: 10.03.2018).
2. Leibowitz M. Xamarin Mobile development for Android Cookbook. Packt Publishing, 2015.
456 c.
3. Xamarin - Xamarin cross-platform development software [Электронный ресурс]. URL: https://www.xamarin.com/ (дата обращения 12.03.2018).
© Безрук П. А., Ковалев В. Г., 2018