2025 - 2026

Mobilní aplikace SDH Žireč

Mobilní aplikace Android React Native Expo TypeScript .NET MAUI Firebase Push notifikace SMS SMS reader REST API PHP backend Členská administrace Role a oprávnění Secure storage Biometrie Galerie Image upload Kalendář Kontakty Zdravotní prohlídky Výjezdy Novinky Číselníky OTA strategie APK distribuce Google Maps OpenAI

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.