Mobilní aplikace pro JSDH/SDH Žireč vznikla jako interní nástroj pro členy jednotky a sboru. Cílem bylo dostat část správy webu, výjezdů, členů, notifikací a provozních informací přímo do telefonu, bez nutnosti řešit vše přes desktopovou administraci.
Projekt prošel dvěma zásadními verzemi. První verze byla postavená nad .NET MAUI a měla pevnější vazbu na konkrétní zařízení a tokeny. Druhá verze aplikace je nově postavená na Expo, React Native a TypeScriptu a je úzce propojená s účtem, rolemi a právy na webu.
Aplikace není veřejně dostupná na Google Play, protože je určená pro interní použití konkrétní jednotky a pracuje s členskými, provozními a zásahovými daty.
První verze aplikace (< 2026)
První verze aplikace řešila základní interní správu a provozní komunikaci. Obsahovala práci s novinkami, výjezdy, narozeninami, uživateli a právy. Zároveň uměla pracovat s příchozími SMS, odesílat Firebase notifikace a v základní podobě spravovat galerie. Vše bylo propojené s webovým systémem.
Každá instalace aplikace měla vlastní token, kterému se nastavovala práva. Přístup byl tedy pevněji svázaný s konkrétním zařízením a jeho konfigurací.
Funkce první verze
- správa novinek a výjezdů,
- evidence narozenin a členských informací,
- správa práv a uživatelů,
- práce s příchozí SMS zprávou o poplachu,
- odesílání Firebase notifikací,
- základní práce s galeriemi,
- propojení s webovým backendem,
- využití Google Maps pro práci s polohou zásahu.
Specifickou funkcí první verze bylo zpracování příchozí SMS pomocí OpenAI. Aplikace dokázala ze zprávy o poplachu odvodit informace pro veřejnost, interní informace důležité k zásahu a souřadnice použitelné pro zobrazení v Google Maps.
Použité technologie v první verzi
- .NET MAUI
- Android
- Firebase
- Google Maps
- OpenAI pro interpretaci zásahových SMS
- REST API napojené na webový systém
Druhá verze aplikace (2026)
Druhá verze aplikace je kompletnější a je navržená jako mobilní klient k webovému systému. Přihlašování je propojené s účtem na webu a stejná oprávnění ovlivňují, co může uživatel dělat v mobilní aplikaci i ve webové administraci.
Místo pevně nastavených tokenů pro jednotlivá zařízení pracuje aplikace s uživatelskou session, uloženým přihlášením, identitou zařízení a právy přidělenými na backendu. To umožňuje jemnější řízení přístupů a použití aplikace pro více úrovní administrace.
Funkce druhé verze
- přihlášení uživatele přes účet z webu,
- napojení na role a oprávnění z backendu,
- správa katalogů a katalogových položek,
- práce s číselníky, uživateli a právy,
- správa zdravotních prohlídek,
- zobrazení aktualit a interních záznamů,
- práce s obrázky, nahrávání fotografií a řazení galerií,
- registrace zařízení a push tokenů,
- lokální uložení session a informací o zařízení,
- podpora biometrického ověření,
- práce s kontakty, SMS a lokálními notifikacemi,
- kontrola verze aplikace a nabídka aktualizace.
Aktualizace a distribuce
Protože aplikace není určena pro Google Play, řeší si vlastní kontrolu verzí. Backend poskytuje doporučenou a minimální podporovanou verzi, odkaz ke stažení APK a informaci o strategii aktualizace. Aplikace tak může uživateli nabídnout novou verzi přímo podle dat z webového systému.
Technické řešení druhé verze
Druhá verze je postavená na Expo, React Native a TypeScriptu. Používá vlastní navigaci, typované API služby, lokální úložiště, Secure Store, práci se zařízením, kontakty, SMS, notifikacemi, obrázky a biometrickým ověřením.
Aplikace komunikuje s backendem přes REST API. Backend vrací informace o uživateli, oprávněních, katalozích, číselnících, zdravotních prohlídkách, obrázcích, uživatelích, aktualizacích a dalších interních datech.
Použité technologie ve druhé verzi
- Expo
- React Native
- TypeScript
- Android
- Firebase / push notifikace
- Expo Secure Store
- Expo Notifications
- Expo Contacts
- Expo SMS
- Expo Image Picker
- Expo Local Authentication
- REST API napojené na PHP backend
Moje role
- návrh a vývoj obou verzí mobilní aplikace,
- propojení aplikace s webovým systémem SDH/JSDH,
- návrh autentizace, zařízení, session a práv,
- implementace práce s výjezdy, novinkami, uživateli a katalogy,
- implementace push notifikací a práce s tokeny zařízení,
- řešení zpracování SMS a provozních zásahových dat,
- návrh aktualizační logiky mimo Google Play,
- postupná migrace z .NET MAUI řešení na modernější Expo/React Native aplikaci.
Výsledek
Výsledkem je interní mobilní aplikace, která rozšiřuje webový systém hasičů do telefonu. Členové a správci mohou pracovat s důležitými daty rychleji, přímo v terénu nebo mimo počítač. Aplikace zároveň ukazuje vývoj projektu od první pevněji konfigurované verze až po moderního mobilního klienta napojeného na jednotnou autentizaci, role a REST API.