Architektúra

A kliens, a web és a backend rétegek és kapcsolatuk.

A rendszer klasszikus kliens–backend felépítésű: több kliens (mobil és web) egyetlen Supabase backendhez kapcsolódik. A nehéz logika és minden bizalmi döntés a backend oldalán van.

Rétegek
  Mobil (Flutter)        Web (Next.js)
  Android / iOS /        Honlap · MyKarczag ·
  Huawei                 Admin · Docs
        |                       |
        |   Supabase kliens     |  szerveroldali route-ok
        +-----------+-----------+  (Node runtime)
                    |
              Supabase backend
   PostgreSQL · Auth · Storage · Realtime
                    |
         Ütemezett feladatok (cron)
         pl. napi GTFS-import

Kliensek

A mobilapp közvetlenül a Supabase kliens SDK-n át olvas és ír (a hozzáférést adatbázis-szintű szabályok korlátozzák). A webes felület egy része szerveroldali route-okon keresztül dolgozik — itt futnak azok a műveletek, amelyeket nem szabad a böngészőre bízni.

Backend

A Postgres az egyetlen forrás minden adatra: hírek, üzletek, szakemberek, menetrend, broadcast üzenetek. A fájlok (logók, képek, bizonyítványok) a Storage-ban, a bejelentkezés az Auth rétegben. A Realtime csatornán az app azonnal értesül bizonyos változásokról.

Jó tudni

A webes admin és MyKarczag felület nem a böngészőben tárolt kulccsal, hanem szerveroldali munkamenettel azonosít — lásd a biztonsági modellt.