MENIFLOW — INSTALACIJA NA CPANEL (BEZ TERMINALA)
================================================

Domen: https://restorani.yugohit.rs
Potrebno: cPanel sa opcijom "Setup Node.js App" ili "Application Manager"
Node verzija: najnovija 22.x (najmanje 22.13)

VAŽNO
-----
• Nemojte stavljati aplikaciju direktno u public_html.
• Predloženi Application root je: meniflow
• Baza i fotografije se automatski čuvaju u folderu storage.
• Nemojte brisati folder storage prilikom budućih ažuriranja.

1. OTPAKUJTE ZIP
----------------
U cPanel File Manager-u napravite folder "meniflow" u svom početnom direktorijumu,
na istom nivou kao public_html. Otpremite ZIP u taj folder i izaberite Extract.

Posle raspakivanja fajlovi passenger.cjs i app.js moraju biti direktno ovde:
  meniflow/passenger.cjs
  meniflow/app.js

Ne sme da bude u dodatnom podfolderu tipa:
  meniflow/MeniFlow-cPanel/passenger.cjs

2. NAPRAVITE NODE.JS APLIKACIJU
-------------------------------
Otvorite cPanel > Setup Node.js App (naziv može biti Application Manager),
pa izaberite Create Application i unesite:

  Node.js version:      22.x (najnovija dostupna)
  Application mode:    Production
  Application root:    meniflow
  Application URL:     restorani.yugohit.rs
  Application startup: passenger.cjs

Sačuvajte aplikaciju.

Ako cPanel traži da se domen prvo napravi, otvorite Domains/Subdomains i povežite
restorani.yugohit.rs sa Node.js aplikacijom. Uključite besplatan SSL sertifikat
(AutoSSL) pre prve prijave.

3. INSTALIRAJTE ZAVISNOSTI BEZ TERMINALA
----------------------------------------
Na stranici Node.js aplikacije kliknite:
  "Run NPM Install", "NPM Install" ili "Enable Dependencies"

Sačekajte da cPanel završi instalaciju. Terminal nije potreban.
Zatim kliknite Restart Application.

3b. (OPCIONO, ALI PREPORUČENO) PODESITE SLANJE EMAILOVA
--------------------------------------------------------
Bez ovog koraka aplikacija radi normalno, samo se ne šalju emailovi
dobrodošlice novim klijentima i email za resetovanje zaboravljene lozinke.

1. cPanel > Email Accounts > Create — napravite npr. no-reply@vasdomen.com
2. Kod tog naloga kliknite "Connect Devices" da vidite tačan SMTP host
   i port (obično mail.vasdomen.com, port 587).
3. U Setup Node.js App > vaša aplikacija > Environment Variables dodajte:
     MENIFLOW_SMTP_HOST, MENIFLOW_SMTP_PORT, MENIFLOW_SMTP_USER,
     MENIFLOW_SMTP_PASS, MENIFLOW_SMTP_FROM
   (detaljan primer u AZURIRANJE-CPANEL.txt)
4. Restart Application.

4. KREIRAJTE PRVI ADMIN NALOG
-----------------------------
Otvorite:
  https://restorani.yugohit.rs/setup

Unesite svoje ime, email i novu lozinku od najmanje 12 znakova.
Jednokratni instalacioni ključ je:

  2oebGMogHYP61j7xvvbekGaJyFYDvnpe

Posle uspešnog kreiranja naloga /setup se automatski zaključava i više ne može
da kreira nove vlasnike. Prijava je na:
  https://restorani.yugohit.rs/login

5. VAŽNE ADRESE
---------------
Admin panel:
  https://restorani.yugohit.rs/admin

Veliki operativni ekran (šank, kuhinja, tablet u sali):
  https://restorani.yugohit.rs/osoblje

Telefon konobara — samo njegovi stolovi:
  https://restorani.yugohit.rs/moj-sto

Javna registracija novih klijenata (restorana):
  https://restorani.yugohit.rs/registracija

Zaboravljena lozinka:
  https://restorani.yugohit.rs/zaboravljena-lozinka

QR linkove za stolove pravite i preuzimate u Admin > Stolovi i QR kodovi.
Gost preko QR koda dobija izbor jezika, meni, poručivanje i poziv konobaru.

INSTALACIJA NA TELEFON KONOBARA
Stranica /moj-sto se instalira kao aplikacija, bez App Store-a i bez troškova.
Konobar se prvo prijavi svojim nalogom, pa:
  Android (Chrome): meni sa tri tačke gore desno > "Instaliraj aplikaciju"
    (na nekim telefonima piše "Dodaj na početni ekran").
  iPhone (Safari): dugme "Podeli" (kvadratić sa strelicom) na dnu ekrana >
    "Add to Home Screen" / "Dodaj na početni ekran".
Dobija ikonicu na ekranu telefona koja se otvara preko celog ekrana.
Potrebna je internet veza — aplikacija namerno ne radi offline, da konobaru
nikad ne bi prikazala zastareo račun.

REJONI I DODELA STOLOVA
Rejone (Balkon, Sprat, Bašta, Bar…) pravite u Admin > Stolovi > "Uredi rejone".
Konobara zadužujete za sto u Admin > Stolovi > Uredi sto > polje "Konobar".
Konobar može i sam da preuzme slobodan sto sa svog telefona, kad uskače za
kolegu; to preuzimanje traje dok ga ne otpusti.

6. VIŠE RESTORANA I ZASEBNI NALOZI
----------------------------------
Vlasnik može da klikne "Dodaj restoran" ispod birača restorana u levom meniju.
Svaki novi restoran dobija odvojeni meni, brending, podešavanja, Sto 1 i QR kod.

Za zaseban nalog konobara, menadžera ili drugog vlasnika otvorite:
  Admin > Podešavanja > Nalozi i uloge

Unesite email i privremenu lozinku. Uloga "Osoblje" vidi operativni ekran,
"Menadžer" upravlja menijem/podešavanjima, a "Vlasnik" ima punu kontrolu.
Ako email već ima MeniFlow nalog, koristiće svoju postojeću lozinku.

7. PODACI I BACKUP
------------------
Svi trajni podaci nalaze se u:
  meniflow/storage/meniflow.sqlite

Otpremane fotografije nalaze se u:
  meniflow/storage/media/

Za backup preuzmite ceo folder storage kroz File Manager. Pre kopiranja baze je
najsigurnije kratko zaustaviti Node.js aplikaciju u cPanel-u, preuzeti storage,
pa je ponovo pokrenuti.

8. AKO APLIKACIJA NE KRENE
--------------------------
Proverite sledećim redom:
• Node verzija je 22.13 ili novija.
• Startup file je tačno passenger.cjs.
• passenger.cjs, app.js i package.json su direktno u Application root folderu.
• Kliknut je Run NPM Install / Enable Dependencies.
• Kliknut je Restart Application.
• Domen ima aktivan SSL i otvara se preko https://.
• Folder storage postoji i ima dozvolu za upis (uobičajeno 755).

Ako cPanel prikaže grešku, kopirajte tekst iz "Application logs" ili
"Passenger log" — iz njega se može tačno utvrditi sledeći korak.

Ako "Run NPM Install" javi grešku koja pominje "esbuild" i "failed to create
new OS thread" / "ulimit -u" — to je limit broja procesa na vašem hosting
nalogu, ne greška u paketu. Od verzije 1.3 ovaj paket ne zahteva esbuild pri
instalaciji, pa se ovo više ne bi trebalo desiti; ako se i pored toga desi,
javite yugohit.rs podršci da povećaju "Number of Processes" (NPROC) limit
za vaš nalog, uz pominjanje ove greške.
