Webové portály a marketplace

Krajšie Kalinkovo

Komunitná mobilná PWA pre Kalinkovo: oznamy, push upozornenia a nahlasovanie problémov

WebServer/API

O projekte

Mobilná webová aplikácia (PWA) pre obyvateľov obce Kalinkovo, ktorá slúži ako komunitná tabuľa – výslovne nie ako oficiálny systém obce. Redakcia publikuje oznamy so schvaľovacím postupom a posiela web push upozornenia podľa tém; obyvatelia bez registrácie nahlasujú problémy s fotkou a polohou a ich stav sledujú cez tajný odkaz. Doplnkové občianske moduly tvoria kalendár termínov, prezentácia komunitných zbierok a pilotné hlasovanie.

Čo aplikácia vie

  • Oznamy s kategóriami, urgentným bannerom, fulltextovým vyhľadávaním a redakčným workflow (koncept → kontrola → publikovanie → oprava → expirácia, plánované zverejnenie)
  • Web push upozornenia (VAPID) podľa tém; notifikačné kampane s povinným testom na interné zariadenie a dvojitým potvrdením hromadného odoslania
  • 6-krokový sprievodca nahlásením problému (čo sa stalo, poloha cez GPS alebo opis, fotografia, popis, kontakt a verejnosť, kontrola); rozpracovaný koncept sa ukladá v zariadení aj offline
  • Spracovanie fotografií cez sharp (kontrola magic bytes, prevod do WebP, odstránenie EXIF/GPS) a moderácia pred zverejnením – schváliť, rozmazať alebo skryť
  • Tajný sledovací odkaz pre oznamovateľa (doplnenie informácií, potvrdenie vyriešenia, znovuotvorenie, stiahnutie) a overenie e-mailu magic linkom
  • Verejný zoznam anonymizovaných podnetov s filtrami a časovou osou stavov, tlačidlá „Týka sa ma to tiež“ a „Sledovať stav“, detekcia možných duplicít
  • Kalendár termínov (štátne sviatky a daňové termíny podľa zákona + obecné termíny) s odškrtávaním a odberom .ics; prezentácia komunitných zbierok
  • Hlasovanie (POC) s overením e-mailu kódom, jedným hlasom na e-mail a návrhmi občanov so schvaľovaním
  • Administrácia s RBAC a TOTP 2FA: triáž podnetov, moderácia, oznamy, notifikačné kampane, kalendár, zbierky, hlasovania, odberatelia, analytika, audit log, export CSV, stav systému
  • Transakčný outbox v DB a worker (alebo Plesk cron) pre naplánované oznamy, push, e-maily a retenciu; PWA s inštalačným návodom a offline bannerom

Technicky zaujímavé

  • Súkromie od návrhu: bez účtov pre verejnosť, 256-bitový sledovací token uložený iba ako HMAC hash, kontakt oznamovateľa šifrovaný AES-256-GCM, verejná poloha zaokrúhlená (~100 m, citlivé kategórie ~1 km)
  • Spoľahlivé doručovanie cez transakčný outbox (dedupe, backoff, dead-letter) a idempotentný web push s čistením neplatných odberov
  • Doménová logika (workflow oznamov a podnetov, RBAC, duplicity, stavový automat push) oddelená v src/domain; podľa smoke reportu 78 unit, 19 integračných (MariaDB) a 18 E2E testov

V pláne

  • Verejná mapa podnetov a mapový výber polohy (Leaflet adaptér je v kóde, predvolene vypnutý – čaká sa na licenciu tile servera); geocoding
  • Import zdrojov (RSS/Atom/iCal runnery), e-mailový týždenný digest, export PDF
  • Perceptual hash duplicít fotografií, adaptívna CAPTCHA, QR kód pri nastavovaní TOTP, viacjazyčnosť