Étterem Rendelő Rendszer
- JavaScript 47.7%
- EJS 45.7%
- CSS 6.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
The status shown per past order ('paid', 'served', etc.) was the raw
English DB value, untranslated even in Hungarian — added a hu/en label map
matching the wording already used in the admin orders page.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
|
||
| public | ||
| src | ||
| .gitignore | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
MEALZ
AI food assistant éttermek számára — QR-kód alapú vendégélmény, ahol a hagyományos étlap helyett egy chat-alapú AI ajánl konkrét ételeket a vendég preferenciái (éhség, étrend, allergia, hangulat) alapján, majd intelligensen upsell-el (köret, ital, desszert), és a teljes bundle-t egyben lehet megrendelni.
Stack
- Node.js + Express
- SQLite (better-sqlite3) — séma önmigráló: induláskor automatikusan hozzáadja a hiányzó oszlopokat/táblákat, adatvesztés nélkül
- EJS + vanilla JS (nincs build lépés)
Futtatás
npm install
npm run seed # demo étterem + admin fiókok létrehozása
npm start
Szerver: http://localhost:3000
Demo hozzáférések (seed után)
- Vendég chat:
/r/demo-bistro(asztal-QR:?table=5) - Étterem admin:
/admin/login→ demo@mealz.app / demo1234 (owner szerepkör) - Platform admin:
/platform/login→ admin@mealz.app / admin1234
Funkciók
Vendég (/r/:slug)
- AI chat: preferencia-kérdések (éhség, diéta, könnyű/laktató, csípősség, allergia) + szabadszöveges kívánság
- Konkrét ajánlás a valódi menüből + kontextusfüggő upsell (köret/ital/desszert)
- Bundle rendelés: több tétel egy kosárban, egy kattintással elküldve
- Teljes böngészhető menü (
/r/:slug/menu) kereséssel és diéta/allergén szűrővel - Visszatérő vendég felismerés (device-alapú, cookie nélkül) + "ugyanazt kérem"
- HU/EN nyelvváltás, étterem-branding (logó, szín, hangnem) a chat felületén
- "Segítséget kérek" gomb, asztalszám követés
- Rendelés utáni csillagos értékelés
- GDPR: cookie consent banner, "Felejts el" gomb (adattörlés)
Étterem admin (/admin)
- Szerepkör-alapú hozzáférés: owner / manager / staff, csapatkezeléssel
- Menü CRUD (bilingual név/leírás, allergén, kalória, spice/heaviness, AI-kiemelés, gyors elérhetőség-toggle)
- Élő rendelés-sor (
/admin/orders): új → készül → kiszolgálva → fizetve workflow - Asztali QR-kód generátor, nyomtatható
- AI beszélgetés-monitor (
/admin/sessions): mit kérdezett/kapott/fogadott el a vendég — QA/debug célra - Dashboard: bevétel, napi bontású sáv-diagram, konverzió, top ételek, átlag értékelés, visszatérő vendégek
- Branding + AI-viselkedés beállítások (max ajánlás szám, engedélyezett diéta-módok, AI forrás-prioritás)
- CSV export (rendelések)
Platform admin (/platform)
- Éttermek onboardingja, jóváhagyás/elutasítás
- Éttermenkénti GMV + platform díj (€1/rendelés) bontás
- Étterem-részletező oldal: csapat, belső jegyzetek (support/onboarding napló)
- Rendszer health oldal (uptime, memória, DB méret, rekordszámok)
- Globális CSV export
Architektúra
src/db.js— SQLite séma + önmigrálóensureColumnhelper (biztonságos séma-bővítés meglévő adatbázison)src/recommend.js— szabály-alapú ajánlómotor (diéta/allergia szűrés, pontozás, upsell logika); később LLM-mel bővíthetősrc/routes/guest.js— vendég chat/menü/rendelés/értékelés APIsrc/routes/restaurantAdmin.js— étterem admin, szerepkör-middleware (requireRole)src/routes/platformAdmin.js— platform admin, éttermek + health + export
Üzleti modell
Az étteremnek ingyenes, a vendég fizet €1 rendszerhasználati díjat sikeres AI-alapú rendelésenként. A platform dashboard valós GMV-t és díjbevételt mutat, éttermenkénti bontásban.
Tudatosan kimaradt (külső rendszert igényelne)
- Valódi LLM-alapú szabadszöveges társalgás (jelenleg kulcsszó-alapú "likes" párosítás)
- Fizetési gateway integráció (Stripe/PayPal/SEPA), automata számlázás
- POS/ERP integráció, OCR-alapú menüfeltöltés
- Multi-restaurant guest food-profil (jelenleg éttermenként külön guest-memória)
- 2FA, API key management, live websocket alapú chat-monitoring (jelenleg polling/session-log alapú)