Создание приложений для пожарных.

Я увлекаюсь кодированием и компьютерной техникой, и в то же время я от всего сердца пожарный-волонтер. Так что я люблю комбинировать и то, и другое и создавать программные инструменты для пожарных команд и пожарных.

Многие немецкие пожарные являются добровольцами.

В Германии большинство пожарных — мужчины и женщины-добровольцы! Только в крупных городах есть профессиональные пожарные — это не значит, что пожарные-добровольцы работают менее профессионально, но помимо своей обычной работы они оказывают эту услугу населению.

Я тоже: в своей «нормальной» жизни я руководитель проекта крупного интернет-магазина и отвечаю за весь сектор электронной коммерции этой компании.
В свободное время я горжусь тем, что работаю пожарным-добровольцем. Я руководитель оперативного штаба пожарной охраны (по-немецки: Feuerwehreinsatzzentrale, FEZ) в районе недалеко от Трира (Германия). В зону ответственности входят около 30 деревень и небольших городов в районе Айфеля.

Центр управления чрезвычайными ситуациями (СЭЗ)

Основной целью нашего оперативного центра является поддержка управления чрезвычайными ситуациями в случае пожара или аварии на объекте — путем предоставления информации об уже работающих подразделениях или свободных подразделениях пожарной охраны, которые могут быть дополнительно подняты по тревоге, или информации об особых опасностях, таких как опасные вещества. Наконец, что не менее важно, СЭЗ отвечает за внутреннюю координацию и документирование всех чрезвычайных ситуаций.

Кодирование для пожарных

Чтобы поддержать товарищей в их работе в СЭЗ, около 14 лет назад я разработал специальное программное обеспечение, которое упрощает важные части необходимой документации и согласования работы. Название этого приложения «MyFEZ».

Первая версия «MyFEZ» проработала около 11 лет, начиная с 2004 года.
Вторая версия была закончена около 4 лет назад. С тех пор приложение работает без каких-либо серьезных сбоев и поддерживает товарищей в СЭЗ в ежедневной координации операций и документировании операций.

Все версии работают на MySQL в качестве сервера базы данных. (Это «Мой» в «MyFEZ»). Внешний интерфейс первой версии был построен на Turbo Pascal и был разработан только как одноместное приложение. Turbo Pascal терял все большее значение (в том числе и в моей профессиональной среде), и поэтому мне становилось все труднее реализовывать запланированные расширения.

Поэтому я решил создать вторую версию «MyFEZ», которая была построена на PHP для подключения к базе данных и Javascript и Bootstrap для кодирования внешнего интерфейса. Таким образом, приложение изменилось на 100% браузерное приложение. Одним из самых больших преимуществ по сравнению с предшественником является то, что MyFEZ 2 работает как многопользовательское настольное приложение. Так что его можно использовать на всех трех рабочих местах в нашей СЭЗ одновременно.

Растущие требования к приложениям

В начале этого года мы ввели в эксплуатацию полностью переоснащенную СЭЗ с полностью оцифрованными рабочими местами. Пора подумать о 3-й версии MyFEZ, которая дополнит версию 2 некоторыми важными функциями:
1) разделение информации более чем на один экран на рабочее место, чтобы ее было лучше читать
2) предоставление информация в различных представлениях, разработанная и оптимизированная для различных задач
3) более продуманная визуализация данных, чтобы их можно было использовать на месте (даже с планшетными компьютерами, такими как iPad)
4) поддержка APager (by Alamos), система сигнализации, которая используется для отправки экстренных сигналов через приложения для iOS и Android
5) в целом быстрее и умнее
6) доставляет больше удовольствия пользователям (и разработчику )

Больше удовольствия — программирование с помощью VueJS

Предстоящая версия построена на PHP (для настройки API базы данных) и VueJs для внешнего интерфейса. VueJS очень интересен благодаря двусторонней привязке данных, простой в использовании системе маршрутизации и vueX для хранения состояний и отдельных файловых компонентов, что значительно упрощает программирование многих задач. Другие фреймворки, такие как Angular или React, могут в основном предлагать те же функции, и есть много статей, написанных для сравнения этих фреймворков, но для меня VueJS — самый любимый.

Кодирование с помощью VueJs позволит вам выбирать из большого количества фреймворков пользовательского интерфейса, чтобы получить уникальный и красивый интерфейс. Использование фреймворка пользовательского интерфейса сэкономит много времени благодаря его элементам пользовательского интерфейса, которые можно использовать из коробки. Вы найдете различные реализации Material, Bootstrap, мобильных интерфейсов и т. д., большинство из которых хорошо подготовлены для использования с VueJS.
Я решил использовать Element UI, потому что мне не очень нравятся Material и Element UI. поставляется с отличной документацией. Так что начать с VueJS и Element UI действительно очень просто!

Улучшение пользовательского интерфейса для наших нужд

Поработав некоторое время с Element UI, я понял, что предпочел бы, чтобы некоторые элементы управления отображались с более сильным контрастом, или что я хотел бы, чтобы кнопки и элементы ввода выглядели немного более квадратными.
Поэтому я создал свою собственную «тему», постепенно перезаписывая определения CSS, пока мне, наконец, не понравились элементы управления. У меня всегда было ощущение, что дисплей в целом выглядит немного плоским, если приложение используется на довольно средних мониторах. Таким образом, я всегда не был полностью доволен результатом.

Наконец, меня вдохновил научно-фантастический сериал, чтобы интерфейс MyFEZ выглядел так, как он выглядит сейчас. Конечно, это не копия экранов, но это вдохновение сделало информацию на мониторах более читабельной, и теперь я получил абсолютно положительные отзывы от тестовых пользователей.

На данный момент MySQL V3 выполняет свои первые тестовые запуски и должен — если все тесты пройдены успешно — начать работу в начале нового года. Это будет еще один счастливый момент в жизни кодера-пожарного.