Приложение-навигатор между мероприятиями на городских праздниках “Polzunov.Feast”
Часовских Егор, Овсянников Георгий, Тумбаев Алексей, Сиденко Матвей.
Polzunov.Feast — мобильное приложение, которое содержит информацию о всех мероприятиях на городских праздниках в удобном формате, с описанием и изображениями, с возможностью создать маршрут между мероприятиями, которые физически возможно посетить. Пользователю доступен поиск и фильтрация по категориям.
Например, когда проходит акция “Музейная ночь”, информацию о событии администрация города размещает в виде текстового документа на сайте регионального министерства культуры, выходят заметки в СМИ, публикуются посты в группе «Ночь музеев. Алтайский край» социальной сети «ВКонтакте» и на веб-ресурсах всех участников акции, а также на официальном сайте мероприятия. Из-за того, что источников информации много, не везде она полная и наглядная, горожанам тяжело выбрать интересующие из большого списка, и понять, как далеко они проходят географически, возможно ли посетить сразу все понравившиеся.
Увеличение степени вовлечённости горожан в культурную жизнь города.
-
Просмотр списка мероприятий с возможностью фильтрации по интересам, возрастам, и категориям.
-
Просмотр информации по конкретному мероприятию.
-
Составление индивидуального маршрута.
-
Сервер: Spring, Nginx, Docker, PHP
-
Клиент: Flutter, Dart, Openstreetmap
-
Админ-панель: ReactJS
-
Сервис по поиску путей: Flask, GeoPy, Neo4j, OpenLayers
Возможность использования приложения в любом городе, а не только в Барнауле.
-
Разработано мобильное приложение с возможностью построения маршрутов между мероприятиями.
-
Разработан сервер, который обрабатывает запросы и хранит информацию о мероприятиях.
-
Разработана панель администратора, которая предоставляет организаторам инструменты для добавления, изменения, удаления информации о мероприятиях.
-
Разработан сервис по поиску путей, для построения маршрутов.
Из-за отсутствия единой платформы для получения информации о городских мероприятиях, в СМИ, социальных сетях и на официальных сайтах, горожанам сложно получить полное представление обо всех мероприятиях, в том числе происходящих в их районе. Создание отдельного приложения, которое содержит информацию обо всех мероприятиях, сделает процесс информирования граждан более удобным и позволит им участвовать в большем количестве событий.
Для обеспечения отказоустойчивости при высокой нагрузке, сервер, панель администратора и сервис поиска путей могут быть размещены на отдельных серверах, а ресурсы выделенного сервера могут быть увеличены в соответствии с потребностями.
При использовании системы в других регионах, предполагается развертывание независимой инфраструктуры в каждом из них. Сервер и база данных упакованы в Docker-контейнеры, что позволяет, при необходимости, перенести их в масштабируемый Kubernetes-кластер.
Сервис поиска путей доступен через API и может быть переиспользован в других проектах, где требуется подобный функционал.Выбранные инструменты являются ПО с открытым исходным кодом.
Технологии для сервера
Spring полностью бесплатный и имеет открытый исходный код. Spring позволяет: писать меньше рутинных функций и объединять между собой разные модули приложения, а также является универсальным и легким.
Nginx — специализированное ПО с открытым исходным кодом, к его особенностям можно отнести: высокая скорость, гибкость, малое потребление памяти, высококачественная поддержка, высокая доступность.
Docker — open source инструмент, который автоматизирует развертывание приложения внутри программного контейнера. Преимущества docker: быстрый процесс разработки, удобная инкапсуляция приложений, простой и понятный мониторинг, легко масштабируется.
PHP — серверный язык. Преимущество PHP: низкий порог вхождения, проверенные инструменты разработки, крупное профессиональное сообщество, большая библиотека готовых решений, нетребовательность к рабочему окружению.
Технологии для мобильного приложения
Flutter — бесплатный и открытый фреймворк для разработки кроссплатформенных приложений. Преимущества: высокую производительность сборок, простой и лаконичный язык программирования Dart, быстрая компиляция и сборка проекта, механизм горячей перезагрузки, большой набор UI-компонентов и библиотек.
Dart – высокоуровневый, интерпретируемый язык программирования, который используется для Flutter. Преимущества: простота в освоении, быстрая производительность, открытый исходный код, гибкость.
Open Street Map представляет собой открытый интернет-проект топографической карты.
Технологии для панели администратора
React — JavaScript-библиотека с открытым исходным кодом для создания пользовательских интерфейсов. Преимущества: гибкость, возможность установки отдельных компонентов, постоянные обновления, совместимость с другими библиотеками и плагинами.
Технологии для сервиса поиска путей
Flask — фреймворк для создания веб-приложений на языке программирования Python, использующий набор инструментов Werkzeug, а также шаблонизатор Jinja2. Преимущества: гибкость и поддержка оптимизации благодаря расширению функционала дополнительными пакетами, популярность среди прочих Python-фреймворков, возможность создания как маленьких, так и больших, масштабируемых проектов, регулярные обновления и дополнения, а также расширение функционала за счет сторонних пакетов, которые энтузиасты выкладывают на GitHub.
Geopy — это мощный инструмент для работы с геоданными в Python. Она предоставляет простой и удобный интерфейс для выполнения различных задач, связанных с геокодированием
Neo4j — ведущая в мире графовая база данных с открытым исходным кодом, разработанная с использованием технологии Java. Она обладает высокой масштабируемостью и не содержит схем (NoSQL)
OpenLayers — библиотека с открытым исходным кодом, написанная на JavaScript, предназначенная для создания карт на основе программного интерфейса (API).
Также, сам проект Polzunov.Feast является ПО с открытым исходным кодом.
Есть похожие предложения, такие как: Sueta, ГдеЧто, Московские сезоны.
«Sueta» — приложение для поиска людей со схожими интересами и совместной организацией мероприятий. Есть возможность обсуждать детали мероприятия в встроенном чате и исследовать мероприятия на карте. На данный момент заброшено и уже не обновляется.«ГдеЧто» — интерактивная карта, которая поможет устроить праздник, найдет, куда отправиться большой компании, и предоставит актуальную информацию тем, кто хочет с пользой провести свободное время. Но в данном приложении нет возможности создать маршрут по нескольким мероприятиям, а также, на данный момент работает всего в четырех городах (Москва, Челябинск, Томск, Новосибирск).
«Московские сезоны» — приложение, в котором присутствует: расписание мероприятий, карта праздничных площадок, электронные билеты на культурные и развлекательные события, занятия для детей, ближайшие рестораны, советы для туристов. Но в данном приложении нельзя составить маршруты и оно работает только в Москве.
Выбор мобильного приложения как основной платформы для доступа к информации обусловлен следующими причинами:
-
Актуальность для широкой аудитории. Смартфоны популярны среди пользователей, потому что позволяют получить доступ к информации практически из любой точки мира, где есть интернет и мобильная связь.
-
Удобство использования. Мобильные приложения обеспечивают быстрый и простой доступ к информации, а также возможность получать уведомления о новых событиях или изменениях в режиме реального времени, ведь у современного человека телефон всегда с собой. Это делает мобильные приложения идеальным инструментом для предоставления информации о маршрутах и услугах.
-
Понятный интерфейс. Приложения имеют простой и интуитивный интерфейс, позволяющий пользователям быстро находить нужную информацию и использовать различные функции. Это облегчает взаимодействие пользователей с приложением и повышает их удовлетворенность от использования.
В качестве примера рассмотрим один из городских праздников. Администрация города заблаговременно размещает программу мероприятий «Музейной ночи» в виде текстового документа на сайте регионального министерства культуры, в группе «Ночь музеев. Алтайский край» социальной сети «ВКонтакте» и на веб-ресурсах всех участников акции, а также на официальном сайте мероприятия. Поиск в этом документе осуществляется путем простого пролистывания всего документа в поисках определенного события, без изображений и описания, без меток на карте. По текстовому описанию непонятно, где именно проходит мероприятие географически, возможно ли успеть посетить несколько мастер-классов в разных районах города.
В приложении Polzunov.Feast есть возможность просмотреть события с изображениями и описаниями, автоматически определять, какую комбинацию мероприятий посетить физически возможно (проходят рядом и не накладываются по времени). Пользователю доступны поиск и фильтрация по категориям, что упрощает выбор.