Přeskočit obsah

Klíčová architekturální rozhodnutí

Distribuce aplikací

  • Aplikace jsou portable app folders (ne installer.exe) — manifest-based update
  • Launcher stáhne jen soubory které se změnily (checksum diff)
  • Kanály: alpha (Avaxis test) → beta (vybrané firmy) → stable (všichni)
  • AVAX App SDK povinné pro všechny distribuované aplikace (.NET, Java, Python)
  • IPC: Named pipe (Win) / Unix socket (Linux), JSON zprávy

Bootstrapper + Main App

  • Malý bootstrapper (~5 MB) stažen z avaxis.cz → stáhne main app ze S3
  • Každý start: striktní update pokud app neběží; při běžící app → stáhnout na pozadí + tray notifikace
  • Tray aktivní i po zavření okna (zálohy + chat běží na pozadí)

Zálohy a S3

  • Každá firma má S3 prostor — default 1 GB, soft limit 5 GB
  • Žádné automatické mazání — pouze označení expired + Garbage Collector
  • Uživatelé nemají S3 DELETE práva — pouze GC job (IAM politika)
  • GDPR separace: identity.json (jméno, e-mail) odděleně od klientských dat

Chat

  • Broadcast skupiny (200+ členů): Redis Pub/Sub fan-out (jen pro broadcast, ne 1:1)
  • 4 režimy skupiny: open / moderated (post) / questions (pre) / announcement
  • Admin skupiny může skrýt zprávy, exportovat konverzaci do S3

AI a support

  • Hybridní LLM: vm-gpu Ollama (vždy první) → Claude API (komplexní/prioritní)
  • RAG: pgvector embeddingy, znalostní báze z vyřešených tiketů
  • Mimo pracovní dobu: AI automatická odpověď + ráno agent zkontroluje

Organizace a oprávnění

  • Multi-tenant: firmy identifikovány IČO
  • Avaxis = superfirma (system_role: super_admin) se Správou portálu
  • Uživatel vidí jen aplikace přidělené jeho roli nebo jemu přímo
  • 2FA: QR kód (AVAX Android app) + TOTP záloha, výchozí vypnuté