В строениях, занимающих большую площадь, как, например, гипермаркеты или университеты остро стоит вопрос навигации. Наверняка каждый сталкивался с проблемой нахождения новой локации даже внутри знакомого здания, будь то новый магазин, или, аудитория незнакомого корпуса. В таких ситуациях не остается иного выхода как попросить проводить, указать путь случайного прохожего или найти план эвакуации и надеяться, что нужное помещение находится на текущем этаже, иначе, придется обходить все здание в поисках нужного места.
Назначение данной разработки – создание мобильного приложения, обеспечивающего поддержку пользователя в ориентировании в незнакомом для него здании посредством предоставления возможности просмотра графических интерактивных схем этажей здания и путем построения кратчайших маршрутов между интересующих локаций, а также облегчающего получение информации о интересующих его помещениях.
- загрузка доступных зданий с серверной подсистемы на устройство
- просмотр графического интерактивного плана этажей здания
- просмотр информации о помещениях здания, его работниках и публичных заметок о нем
- построение кратчайшего маршрута между помещениями и их отображение на схеме
- поиск помещения по его названию или информации о нем
- получение информации о помещении при сканировании Qr кода с его названием
- отображение помещения на плане здания
- авторизованый доступ в личный кабинет пользователя
- CRUD операции с заметками о помещении,
- переключение заметки в статус публичных для показа всем пользователем
- возможность добавления помещения в список избранных или удаления из него
- возможность просмотра списка всех заметок пользователя
- Программный продукт разработан на основе платформы Xamarin Forms
- Для отрисовки схем этажей использовался фреймворк – SkiaSharp
- Для хранения данных используется компактная встраиваемая СУБД – SQLite
- С целью упрощения разработки и поддержки базы использована Entity Framework Core
- Для сканирования QR-кодов используется библиотека ZXing
Для загрузки информации о здании, его структуре и помещениях а также работы с личным кабинетом необходимо подключение к серверной подсистеме через мобильную сеть. Приложение отправляет соответствующие HTTP запросы на внешние API серверной подсистемы и получает запрашиваемые данные в формате JSON. После загрузки с сервера, данные сохраняются на устройстве в локальной СУБД, что позволяет в дальнейшем использовать приложение в оффлайн режиме.
Дальнейшим развитием функционала может служить:
- Интеграция средств Google Maps, для фиксации доступных зданий на глобальной карте
- Использование GPS для обнаружения текущей позиции и помощи в следовании маршруту
- Сохранение и обмен маршрутами между пользователями системы
- Импортирование программы на Ios и Windows устройства
- Релиз приложения в магазинах поддерживаемых платформ