Initial MaalFlows live chat scaffold

This commit is contained in:
rajchales-monito
2026-07-23 20:29:57 +02:00
commit f5c32d3c2d
11 changed files with 2060 additions and 0 deletions
+45
View File
@@ -0,0 +1,45 @@
# MaalFlows
Samostatny live chat widget pro vlozeni pres GTM. Prvni verze je realny live chat bez AI.
## Co uz kostra obsahuje
- Node.js server bez frameworku, SQLite pres `better-sqlite3`.
- Multi-company / multi-site / multi-user schema.
- Admin login pres `.env` hodnoty `USER_1/PASS_1`, rozsiritelne o `USER_2/PASS_2`.
- Widget vlozitelny pres GTM, konfigurovatelny pres `PUBLIC_BASE_URL`.
- Zprava zakaznika je povinna, jmeno/email/telefon jsou schovane v rozbalovacim detailu.
- Realtime pres SSE: nove zpravy, nove konverzace, typing indikace.
- Rucni online/offline prepinac v adminu.
- Stavy konverzace: `new`, `open`, `resolved`, `spam`.
- Zaklad pro prilohy/fotky: schema, file input ve widgetu, ulozeni souboru do `data/uploads`.
- Sber URL, referreru, historie prochazeni v session, device/browser info, jazyka, timezone a IP/country placeholderu.
## Lokalni spusteni
```powershell
cd D:\Codex\01-projekty\maalflows
Copy-Item .env.example .env
npm.cmd install
npm.cmd run dev
```
Otevri:
- admin: http://localhost:3400/admin
- test widgetu: http://localhost:3400/preview
## GTM snippet
```html
<script>
window.MaalFlows = {
siteKey: "9b-plus",
lang: "cs",
apiBase: "http://localhost:3400"
};
</script>
<script async src="http://localhost:3400/widget.js"></script>
```
V produkci nastav `PUBLIC_BASE_URL` na cilovou domenu nebo subdomenu, odkud se bude nacitat `widget.js`.