Kompletní web. Interní správa celého webu po přihlášení. atp.
2019 - 2026
Hasiči Žireč
Webový a interní systém pro SDH a JSDH Žireč
HasiciZirec je webový projekt pro dobrovolné hasiče ze Žirče, který kombinuje veřejnou prezentaci, historii sboru, evidenci událostí, členskou administraci a API pro mobilní aplikaci. Nejde pouze o statický web, ale o vlastní informační systém postavený na PHP MVC architektuře, katalogovém modelu a administrační části pro správu obsahu i interních dat.
Projekt jsem navrhl a vyvíjel jako dlouhodobě rozšiřitelnou platformu pro potřeby sboru. Veřejná část slouží návštěvníkům webu, zatímco profilová a administrační část řeší interní agendu: členy, výjezdy, brigády, historii, dokumenty, obrázky, oprávnění, mobilní zařízení a notifikace.
Veřejný web
- homepage s aktuálními informacemi, výjezdy, akcemi a životem sboru,
- samostatná stránka jednotky, náboru, kontaktu a informací o sboru,
- sekce historie s detailními záznamy a galeriemi,
- blog/novinky pro články a aktuality,
- galerie a dokumenty navázané na konkrétní obsahové položky,
- sitemap a strukturovaná data pro lepší indexaci veřejných stránek.
Katalogový systém a administrace
Základ projektu tvoří univerzální katalogový model. Jednotlivé typy obsahu jsou uložené jako katalogy a položky s obecnými poli, kterým administrace přiřazuje konkrétní význam. Díky tomu lze stejným jádrem spravovat výjezdy, historii, brigády, členy, novinky, akce nebo další interní evidence.
Administrace obsahuje správu katalogů, položek, uživatelů, číselníků, zařízení, dokumentů a obrázků. Přístup je řízen rolemi, takže vybrané části systému mohou používat i neadministrační uživatelé podle svých práv, například členové jednotky nebo lidé zodpovědní za konkrétní agendu.
Interní členské funkce
| Oblast | Popis |
|---|---|
| Výjezdy | Evidence poplachů a výjezdů, řazení podle data, návaznost na mobilní API a interní správu. |
| Členové | Správa členů, rolí, práv a vybraných informací pro jednotku nebo interní část. |
| Brigády | Evidence brigád a událostí, které se mohou promítat i do historické kroniky. |
| Zdravotní prohlídky | Interní evidence zdravotních prohlídek s možností pracovat s daty přes administraci i mobilní API. |
| Dokumenty a galerie | Nahrávání obrázků a dokumentů k položkám, řazení obrázků, galerie a generování obrazových variant. |
Mobilní aplikace a API
Součástí projektu je backend pro mobilní aplikaci. API řeší přihlášení uživatele, obnovu session, registraci zařízení, ukládání push tokenů, práci s katalogy, obrázky, uživateli, číselníky, zdravotními prohlídkami a vybranými interními daty.
Mobilní část je navržená tak, aby členové mohli pracovat s daty mimo webovou administraci. Backend poskytuje také informace o verzi aplikace, odkaz na stažení APK a podporu pro push notifikace. V projektu jsou připravené integrace pro Expo/Firebase tokeny a správu registrovaných zařízení.
Zpracování SMS a poplachů
Backend obsahuje logiku pro příjem příchozích SMS z mobilní aplikace. Pokud dorazí zpráva s informací o poplachu a systém nenajde existující záznam pro daný den, dokáže založit novou položku výjezdu. Tím se část provozních informací může dostat z telefonu přímo do interní evidence bez ručního přepisování.
PDF kronika
Jednou ze specifických částí projektu je generování hasičské kroniky do PDF. Systém skládá data z historických záznamů a brigád, seskupuje je podle let, doplňuje fotografie a generuje dokument ve formátu A4 pomocí knihovny Dompdf.
Kronika má titulní stranu, obsah, roční sekce, stránkování a veřejnou URL
/kronika.pdf. Administrátor může PDF vygenerovat z administrační části,
zatímco veřejná část umí zobrazit poslední vygenerovanou verzi.
Obrázky, dokumenty a výkon
Projekt řeší upload obrázků a dokumentů k jednotlivým položkám. Obrázky jsou navázané přes rodičovský identifikátor a systém podporuje řazení, mazání a generování optimalizovaných variant. Pro veřejný web je důležité, aby galerie a náhledy nebyly zbytečně těžké, proto projekt obsahuje skripty a služby pro práci s WebP variantami.
Bezpečnost a přístupová práva
Administrace je chráněná přihlášením a rolemi. Projekt pracuje s uživatelskými právy, Google přihlášením, reCAPTCHA v relevantních formulářích a oddělením veřejných, členských a administračních funkcí. Interní routy pro správu dat se registrují podle práv aktuálního uživatele.
Moje role
- návrh a vývoj vlastní PHP MVC aplikace,
- návrh katalogového datového modelu pro různé typy obsahu,
- vývoj veřejného webu, administrace a profilové části,
- implementace mobilního API pro členskou aplikaci,
- řešení přihlašování, oprávnění, zařízení a push tokenů,
- implementace správy obrázků, dokumentů a galerií,
- vývoj generování PDF kroniky z historických dat,
- napojení interních evidencí na praktické potřeby hasičského sboru.
Výsledek
Výsledkem je specializovaný webový a interní systém pro SDH/JSDH, který pokrývá veřejnou prezentaci i praktickou správu dat uvnitř sboru. Projekt propojuje web, administraci, mobilní aplikaci, dokumenty, galerie, historii, výjezdy a kroniku do jednoho udržovatelného řešení.