Nahrazeni sablony kompletnim webem a klientskym portalem
Web a portal Automia v jednom containeru. Express obsluhuje API i zbuildovanou React aplikaci z dist/public. Obsah: - verejny web: homepage, sluzby, o nas, kontakt, 404 - prihlaseni pres JWT, demo ucty - portal: prehled s grafem, tickety, incidenty, automatizace, konektory - builder automatizaci: strom akci, vetveni podminkou - katalog 25 konektoru v 8 kategoriich - webhook s registrovanou adresou, token generuje server - zivy dashboard pres SSE vcetne simulace provozu - Swagger UI na /docs a OpenAPI na /openapi.json Soulad s AGENTS.md: - ROOT_PATH z prostredi, prefix proxy nikde nehardcodovan - mount na koren i na prefix, funguje s handle_path i bez nej - base tag a window.__BASE_PATH__ vkladane do index.html za behu - OpenAPI servers obsahuje prefix, Try it out vola spravnou adresu - povinne /health a /docs, port 3000, naslouchani na 0.0.0.0 - secrets jen z environment variables, nikdy v logu Dokumentace ve slozce documentation/.
This commit is contained in:
@@ -1,8 +1,69 @@
|
||||
# csbot-prototype
|
||||
|
||||
Node.js TypeScript služba vytvořená přes CSBot Services Portal.
|
||||
Web a klientsky portal firmy zamerene na automatizace, voiceboty, integrace,
|
||||
dashboardy, tickety a incident management.
|
||||
|
||||
## Endpointy
|
||||
Jedna aplikace v jednom containeru: Express obsluhuje API i zbuildovanou
|
||||
React aplikaci. Bezi v AppFactory za reverse proxy na `/apps/<app-id>`.
|
||||
|
||||
- GET /
|
||||
- GET /health
|
||||
## 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/<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/](documentation/). Pred upravou projektu
|
||||
staci precist ji, neni nutne prochazet cely kod.
|
||||
|
||||
Pravidla pro AI asistenty a nastroje jsou v [AGENTS.md](AGENTS.md).
|
||||
|
||||
Reference in New Issue
Block a user