JiriUhlirandClaude Opus 5 35d1e43307 Pad vykreslovani uz nesmi shodit stranku a sam zaklada incident
Ukazka tela webhooku shazovala builder pri psani cesty parametru. Chyba sama
byla na jednom radku, ale to podstatne je, ze jedna vyjimka pri vykreslovani
odstranila celou stranku. Uzivateli zustala bila plocha a rozdelana prace byla
pryc. Aplikace na to nemela zadnou pojistku, takze totez mohlo prijit odkudkoli.

Pojistka:
- nova web/src/components/ErrorBoundary.tsx obaluje obsah portalu. Mistni chyba
  ted shodi svoji cast obrazovky, ne aplikaci: navigace, prepinac firmy
  i odhlaseni zustanou funkcni. Odchod jinam pojistku srovna zpatky
- je to jedina trida v celem klientovi, React to jinak zachytit neumi

Incident:
- POST /api/dashboard/client-crash zaklada incident z padu. Bez toho je jedina
  stopa v konzoli prohlizece uzivatele, kam se nikdo nedostane
- title a impact cte zakaznik, detail cte spravce platformy: hlaska, misto
  v kodu, strom komponent, adresa stranky, ucet, prohlizec a verze buildu
- verze buildu je tam schvalne. U tohohle padu se ukazalo, ze bez ni se neda
  poznat, jestli uzivatel vidi chybu, ktera uz je opravena, nebo novou
- tentyz pad na tomtez miste zalozi incident nejvys jednou za deset minut. Pad
  pri vykreslovani se opakuje pri kazdem prekresleni

Sama ukazka:
- parametr, kterym vede cesta jineho parametru, uz nedostane zastupnou hodnotu
  podle typu. Kdyz je jeden parametr `data` a druhy `data.result`, `data` musi
  byt objekt a zastupna hodnota by ho prepsala
- cela ukazka je v try. Je to napoveda a nesmi shodit ani ten kus obrazovky

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-28 11:37:19 +02:00
2026-07-31 14:42:26 +00:00

csbot-prototype

Web a klientsky portal firmy zamerene na automatizace, voiceboty, integrace, dashboardy, tickety a incident management.

Jedna aplikace v jednom containeru: Express obsluhuje API i zbuildovanou React aplikaci. Bezi v AppFactory za reverse proxy na /apps/<app-id>.

Rychly start

npm install
npm run build
npm start

Aplikace nasloucha na 0.0.0.0:3000.

Lokalni vyvoj s hot reloadem (API na 3000, web na 5173):

npm run dev

Povinne endpointy

Cesta Ucel
/health Health check pro AppFactory, vraci 200
/docs Swagger UI
/openapi.json OpenAPI definice

Verejne pres proxy jako /apps/<app-id>/health a /apps/<app-id>/docs.

Demo prihlaseni

E-mail Heslo Role
admin@automia.cz demo1234 interni spravce
klient@firma.cz demo1234 klient

Environment variables

Promenna Povinna Vychozi Popis
PORT ne 3000 Port containeru, urcuje AppFactory sablona
ROOT_PATH ne prazdne Prefix proxy, napr. /apps/csbot-prototype
JWT_SECRET ano v produkci - Podpis tokenu, bez nej aplikace nenastartuje
JWT_EXPIRES_IN ne 8h Platnost tokenu
PUBLIC_ORIGIN ne prazdne Verejna domena pro absolutni adresy webhooku
CORS_ORIGIN ne localhost Povolene originy, jen pro lokalni vyvoj

Secrets se nikdy nelogují ani neukladaji do kodu.

Skripty

Prikaz Co dela
npm run build Zbuilduje server i web do dist/
npm start Spusti zbuildovanou aplikaci
npm run dev Vyvoj s hot reloadem
npm run typecheck Kontrola typu bez generovani vystupu

Dokumentace

Podrobnosti jsou ve slozce documentation/. Pred upravou projektu staci precist ji, neni nutne prochazet cely kod.

Pravidla pro AI asistenty a nastroje jsou v AGENTS.md.

S
Description
No description provided
Readme
2.8 MiB
Languages
TypeScript 91.8%
JavaScript 6.4%
HTML 1.5%
CSS 0.3%