Сервер, бэкенд и микросервисы. Что уже сделали разработчики приложения для поиска укрытий в Белгороде?
Несколько программистов во главе с Андреем Созыкиным взялись за разработку мобильного комплекса, чтобы облегчить белгородцам поиск укрытий и заранее спланировать маршруты своих перемещений, исходя из вопросов безопасности. В этом их поддержал благотворительный фонд Андрея Мельниченко, а наша редакция взялась помочь с продвижением проекта, нужного горожанам. Пока в приложении «Белгород. Укрытия» можно будет найти только укрытия в областном центре, но в дальнейшем туда разработчики смогут добавить также укрытия в других районах области.
Что уже сделано?
Белгородские разработчики во главе с Андреем Созыкиным закончили разработку бэкэнда (внутренней части приложения, которая отвечает за обработку запросов пользователей, — прим.Ф.) приложения для поиска укрытий.
— Бэкенд — это основная конструкция, где будут храниться данные приложения. Сервер приложения будет взаимодействовать с устройствами пользователей. Для того, чтобы информация отобразилась на устройстве, её нужно откуда-то взять. Сервер будет раздавать эту информацию и получать её через другие системы, — объясняет Андрей Созыкин.
Сервер, который разработали специалисты, состоит из нескольких микросервисов и приложений, каждый из которых отвечает за определённую часть работы будущего приложения. Он включает в себя «шлюз», который будет маршрутизировать запросы пользователей и передавать их в соответствующие сервисы.
— У части из этих приложений есть своя база данных. Таким образом достигается определённая устойчивость. Если вдруг что-то пойдёт не так с каким-то из приложений, остальные продолжат работать и выполнять свою функцию. Допустим, если пропадёт интеграция с сервисами оповещений МЧС, остальные сервисы — авторизации пользователей и отправки информации о наличии укрытий — будут работать, — рассказывает Созыкин.
Так, например, в сервер приложения входит сервис геокодирования. Он предназначен, чтобы получать информацию об укрытиях.
— Изначально из данных у нас были только адреса ближайших точек, к которым привязаны укрытия, а также номера домов, если мы говорим об укрытиях в подвалах жилых домов. То есть, мы по адресу определяем координаты. Делаем мы это с помощью интеграции с сервисом API яндекс карт. Это один из наших сервисов, который называется «геокодирование», — объясняет разработчик.
Сейчас программисты задаются вопросом, нужно ли сделать так, чтобы карта укрытий была доступна белгородцам даже при выключенном интернете.
— Добавление этой возможности стоит 150 тысяч рублей. Думаем, стоит её подключать или нет. Я склоняюсь к тому, чтобы на год взять эту функцию, и случае, если у пользователей пропадёт связь на устройствах, у них всё равно была возможность посмотреть информацию о размещении укрытий, — продолжает он.
Чтобы узнать, насколько эта функция необходима, в соцсетях проекта запустили опрос для белгородцев. Поучаствовать в нём можно здесь.
***
Также уже готов сервис управления и оповещения. Он получает информация об угрозах для людей с помощью интеграции с одним из каналов, где ранее были установлены уведомления от МЧС. Разработчики сделали бота, который выполняет статический анализ сообщений, приходящих от спасателей.
— На основе этих сообщений он разбирает, понимает, к какой области относится это сообщение, есть ли сейчас угроза или нет. Соответственно, сервис будет выдавать об этом информацию в интерфейс пользователя. Там будет специальный светофорчик с красным, жёлтым и зелёным цветом. Зелёный — отсутствие угроз, жёлтый — наличие опасности БПЛА, а красный — ракетная опасность, — рассказывает собеседник «Фонаря».
article-25556
Разработчикам уже удалось наладить авторизацию пользователей с помощью мобильного телефона, сервисов Яндекса и ВКонтакте. Чтобы зарегистрироваться в приложении, белгородцам понадобится только действующий номер телефона с российской сим-картой. Если говорить о регистрации пользователей через сервисы Яндекса, то проще всего пройти авторизацию, если уже есть аккаунт, например, в Яндекс.Такси или Яндекс.Доставке.
— С помощью системы Yandex Cloud, авторизовавшись в одном из сервисов, вы сможете авторизоваться и в других. Для чего нам это нужно? Мы будем получать номер мобильного телефона, который нам даст Яндекс. Далее на этот номер телефона пользователя будет приходить ответ с кодом [чтобы мы убедились, что человек, который запрашивает данные об укрытиях, находится в России]. У ВКонтакте аналогичная система, но с соцсетью нам пока не до конца получилось интегрироваться. Если сервис отправки уведомлений через смс-канал и Яндекс уже протестированы и работают, то с ВКонтакте ещё придётся поработать, — признаётся Андрей Созыкин.
Как объясняет разработчик, для пользователей будет предпочтительнее регистрация через Яндекс или Вконтакте, потому что в случае авторизации через мобильный телефон, нужно будет оплатить ответную смс с кодом подтверждения.
— Отправка одной смс стоит от пяти до семи рублей, поэтому предпочтительнее будет авторизоваться через Яндекс и ВКонтакте. Но, тем не менее, предусмотрена возможность авторизации через мобильный телефон, — объясняет автор проекта.
При регистрации в приложении каждому пользователю предоставят соглашение на использование его персональных данных, то есть, номера телефона для авторизации. Также при регистрации пользователь увидит краткую инструкцию о том, как работает приложение. Разработчики учли вероятность возможных хакерских атак и оплатили специальную защиту сервера у хостинг-провайдера.
— Если пользователь уже загрузил информацию на мобильный телефон, то даже если у нас ляжет сервер, всё приложение будет продолжать работать. В дальнейшем наш сервер будет нужен только для того, чтобы пользователь обновил информацию, если потребуется, — поясняет белгородский разработчик.
***
Команда проекта «Белгород. Укрытия» показала первоначальный дизайн приложения, его разработал белгородский дизайнер Стас Сизиков. О концепции оформления мы ещё расскажем в других публикациях.
Ещё разработчики успели разместили базы данных (сейчас их три для каждого из сервисов сервера, — прим.Ф.) и бэкенд на хостинг-сервере и занимаются их тестированием.
Что предстоит сделать в дальнейшем?
Скоро команда приступит к разработке фронтенда (пользовательского интерфейса приложения — прим.Ф.). В планах — закончить работу над приложением в ноябре-декабре и разместить его для скачивания. Сейчас фронтенд-разработчик уже получает данные по приложению, запрашивает авторизацию и скоро приступит к формированию карты и размещению на ней укрытий.
— Если говорить о сроках разработки, то в октябре мы начнём активно тестировать фронтенд и в ноябре-декабре будем готовить приложение к публикации, — анонсировал Андрей Созыкин.
Пользователи IOS смогут скачать приложение из AppStore, а пользователи Android — с Rustore. Разработчики приняли решение не экспортировать приложение в Google Play.
— Мы решили, что на Google Play всё-таки не будем загружать приложение, потому что недавно появилась новость о том, что Google ограничивает регистрацию новых пользователей из России (представители поисковика позже заявили, что работают над решением этих проблем и стремятся сохранить бесплатные сервисы доступными в России — прим. Ф.). К тому было бы здорово поддержать отечественных производителей, — заключает он.
Изначально в приложении будет информация только об укрытиях, находящихся в Белгороде, однако глава команды разработчиков не исключает, что в будущем появится информация о других районах и городах Белгородской области. Что касается других регионов, то тут есть сложности.
— В нашей области, при получении данных, всё обязательно загрузим в приложение. Теоретически мы можем добавить в приложение и другие регионы, но это будет дополнительная нагрузка, потому что нужно опираться на то, что угрозы поступают сразу по нескольким регионам и для пользователей нужно будет выдавать информацию, которая соответствует их конкретной геолокации. Потребуются определённые доработки приложения, поэтому бесшовно загрузить информацию с других регионов, ничего не дорабатывая, не получится, — говорит Андрей Созыкин.