# 01 - Prehled a stav ## Co aplikace je Web a klientsky portal IT firmy. Verejna cast prodava sluzbu, cast za prihlasenim ukazuje klientovi stav jeho automatizaci, ticketu a incidentu. Vse je jedna aplikace v jednom containeru. Express obsluhuje API i zbuildovanou React aplikaci ze slozky `dist/public`. ## Stav | Oblast | Stav | Poznamka | | --------------------------------- | ------ | ----------------------------------------------------- | | Verejny web | hotovo | homepage, sluzby, o nas, kontakt, 404 | | Prihlaseni | hotovo | JWT, demo ucty | | Dashboard | hotovo | prehled, tickety, incidenty, automatizace, nastaveni | | Zivy dashboard pres SSE | hotovo | zmeny se projevi bez obnoveni stranky | | Simulace provozu | hotovo | tlacitko v postrannim menu portalu | | Katalog sluzeb | hotovo | 29 sluzeb, 7 kategorii vcetne Obecne | | Builder automatizaci | hotovo | strom akci, vetveni podminkou | | Webhook s registrovanou adresou | hotovo | token generuje server, verejny endpoint validuje data | | Tickety na konkretni lidi | hotovo | resitel, filtr moje, prehled vytizeni tymu | | Log ticketu ve strome | hotovo | vcetne toho, co ktera sluzba vratila | | Kanaly do ticketu | hotovo | WhatsApp, e-mail, hlas a formular jako spoustece | | Parametry od sluzby | hotovo | katalog je deklaruje, server je dosazuje pri ulozeni | | Nastaveni poli akci | castecne | ticket, e-mail a WhatsApp ano, ostatni jen napoveda | | Obsah ticketu a sablony | hotovo | `{{parametr}}` ze spoustece do poli akce | | Vystupy kroku a predvalidace | hotovo | podminka se umi zeptat, co vratil predchozi krok | | Kanaly WhatsApp, FB, Instagram | hotovo | vcetne vzorovych automatizaci na prijem | | Firmy a prava | hotovo | tri pohledy, uzivatel muze byt ve vic firmach | | Nastavitelny dashboard | hotovo | widgety, sirky a poradi, ulozene za uzivatele a firmu | | Skripty konektoru | hotovo | manifest, kontrola parametru, hot reload, iDoklad | | Konektory za firmu | hotovo | pristupove udaje v konektoru, overeni napojeni | | Transformace dat | hotovo | pravidla i sablona JSON, kroky si predavaji struktury | | Sprava clenstvi z portalu | chybi | memberships jdou zmenit jen v kodu | | Bugs a wishes | chybi | vyvojarska agenda, samostatna evidence vedle ticketu | | Beh automatizaci | chybi | ulozeny strom se nevykonava, neni runtime | | Databaze pro konektory | hotovo | Postgres, udaje sifrovane. Bez DATABASE_URL jede pamet | | Databaze pro zbytek | chybi | automatizace, rozlozeni a tickety jsou v pameti | | Odesilani e-mailu z formulare | chybi | poptavka se zatim jen loguje | ## Znama omezeni Data jsou v pameti procesu. Restart containeru vrati tickety, incidenty i automatizace do vychoziho stavu. Nove vytvorene zaznamy se ztrati. Obsah verejneho webu je ukazkovy. Nazev firmy, reference, tym i cisla jsou vymyslene a pred ostrym pouzitim se musi nahradit. Firemni udaje jsou na jednom miste v `web/src/config/brand.ts`. Zivy stream drzi seznam posluchacu v pameti jedne instance. Pri vice instancich by ho musel nahradit sdileny kanal, napriklad Redis pub/sub. Log ticketu zatim plni simulace, ne skutecny beh. Zaznamy jsou realisticke, ale nevznikly vykonanim ulozeneho stromu - runtime neexistuje. ## Dalsi krok Nejuzitecnejsi pristavek je runtime. Strom uz nese vsechno potrebne: spoustec s parametry, podminky a u ticketu i kanalu nastavena pole se sablonami. Chybi jen to, co ho vykona. Do te doby je ulozena automatizace popis zameru, ne provoz. Vedle toho zbyva prevest na `inputs` i ostatni konektory a doplnit odkazy na vystup predchoziho kroku, ne jen na spoustec. Podrobnosti v [05-dashboard-a-builder.md](05-dashboard-a-builder.md). Za rozmysleni stoji evidence bugs a wishes. Zamerne to nejsou tickety, duvod je v [06-tickety.md](06-tickety.md). Prvni cast navrhu uz je hotova: vykonna cast konektoru, tedy skripty s manifestem a kontrolou parametru, viz [11-skripty-konektoru.md](11-skripty-konektoru.md). Runner je pripraveny, chybi nad nim fronta. Zbytek navrhu je ve dvou souborech, oba jsou navrh k rozhodnuti, ne popis stavu: [09-navrh-rozsireni.md](09-navrh-rozsireni.md) pro datove modely a prava, [10-runtime-a-kapacita.md](10-runtime-a-kapacita.md) pro frontu, beh kroku a rozpocet na 150 klientu.