# 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/`. ## Rychly start ```bash 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): ```bash 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//health` a `/apps//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 | | `BRAND_NAME` | ne | WorkNuke | Nazev produktu v titulku Swaggeru a OpenAPI | Klient je staticky soubor, takze runtime promenne containeru do prohlizece nedosahnou. Nazev znacky si bere z `VITE_BRAND_NAME` **pri buildu**, jinak z vychozi hodnoty v `web/src/config/brand.ts`. 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 | | `npm run lint` | ESLint nad serverem, webem a skripty konektoru | | `npm run format` | Prettier prepise soubory podle konfigurace | | `npm run format:check` | Prettier jen zkontroluje, nic neprepisuje | | `npm test` | Testy serveru (vitest) ve slozce `tests/` | Skripty konektoru (vykonna cast sluzeb) jsou obycejny JavaScript ve slozce `connectors/`, do buildu se nekompiluji, jen kopiruji. ## Dokumentace Podrobnosti jsou ve slozce [documentation/](documentation/). Pred upravou projektu staci precist ji, neni nutne prochazet cely kod. Pravidla pro AI asistenty a nastroje jsou v [AGENTS.md](AGENTS.md).