Files
WebWizard/docs/prompts/step09.md
2026-06-12 12:54:10 +02:00

2.6 KiB

Krok 09 - Wizard - Služby a Smart otázky (Krok 3)

Kontext projektu

Krok 3 zbiera konkrétne informácie o službách a odpovede na dynamické otázky, ktoré závisia od kategórie vybranej v Kroku 1.

Pred implementáciou si preštuduj

  • docs/wizard.md - Sekcia 4 (Krok 3 - Služby a smart otazky).
  • data/categories.json - Definícia smart otázok pre jednotlivé kategórie.

Cieľ

Vytvoriť dynamické rozhranie pre zadávanie služieb a zodpovedanie segmentovo špecifických otázok.

Požadované zmeny

  1. Na frontende (wizard.js):
    • Rozhranie pre dynamické pridávanie/odoberanie služieb (Názov, Popis, Cena od).
    • Logika pre načítanie "Smart questions" z categories.json na základe vybranej kategórie.
    • Zobrazenie otázok (checkboxy pre Áno/Nie, textové polia pre detaily).
    • Tlačidlo "Preskočiť" pre voliteľné polia.
  2. Na backende (ajax.php):
    • Validácia dát pre krok 3.
    • Uloženie do wizard_data.services a wizard_data.smart_answers.

Implementačné pravidlá

  • Minimálne 2 služby by mali byť odporúčané, ale nie striktne povinné pre MVP (AI vie zvyšok domyslieť).
  • Smart otázky musia presne zodpovedať kategórii.

Súbory ktoré je potrebné vytvoriť

Žiadne (predpokladá sa, že data/categories.json už existuje).

Súbory ktoré je potrebné upraviť

  • public/index.html (DOM pre Krok 3)
  • public/js/wizard.js (logika pre Krok 3)
  • public/ajax.php (validácia kroku 3)
  • data/categories.json (doplnenie smart otázok, ak chýbajú)

API a dátové štruktúry

Payload pre saveStep:

{
  "step": 3,
  "data": {
    "services": {
      "items": [{ "name": "...", "description": "...", "price_from": "..." }],
      "pricing_note": "..."
    },
    "smart_answers": {
      "question_id": "answer"
    }
  }
}

Frontend požiadavky

  • Jednoduché pridávanie položiek do zoznamu.
  • Prehľadné zobrazenie dynamických otázok.

Backend požiadavky

  • PHP validácia štruktúry poľa služieb.

Testovací scenár

  1. Pridaj 3 služby a vyplň im názvy.
  2. Odpovedz na smart otázky (napr. pre Gastro: donaska = true).
  3. Klikni na "Pokračovať".
  4. Over v JSONe projektu, či sú služby a odpovede správne uložené.

Definition of Done

  • Používateľ vie zadať služby a odpovedať na segmentové otázky.
  • Dáta sú perzistentne uložené.
  • UI je dynamické podľa kategórie.

Obmedzenia

  • Nepoužívaj zložité state management knižnice (Redux a pod.), zostaň pri Vanilla JS.

Výstup

  • zoznam vytvorených súborov
  • zoznam upravených súborov
  • stručné zhrnutie vykonaných zmien
  • prípadné otvorené problémy