# WebWizard - MVP Tento dokument je hlavny zdroj pravdy pre MVP. Detailnejsie technicke pravidla su v `architecture.md`; detail wizardu je vo `wizard.md`. --- ## 1. Ciel produktu WebWizard je AI website concierge. Pouzivatel vyplni kratky wizard a system mu vytvori exportovatelny staticky web. MVP sa sustredi na rychle vytvorenie kvalitneho prveho webu bez toho, aby pouzivatel musel rozumiet dizajnu, HTML alebo hostingu. --- ## 2. MVP rozsah MVP obsahuje: * wizard na zber dat, * ulozenie projektu do JSON suborov, * AI generovanie strukturovaneho JSON obsahu, * PHP renderer, ktory z JSON dat vytvori HTML/CSS, * preview, * export webu, * kontaktny formular v SMTP alebo lokalnom mode, * GDPR suhlas pri zadani kontaktov. MVP neobsahuje: * domenu, * DNS, * SSL, * automaticke nasadenie, * databazu, * drag-and-drop editor, * frontend alebo backend frameworky. --- ## 3. Technologie Pouzite technologie: * PHP 8.2, * JSON subory, * Composer volitelne, * HTML, * CSS, * Vanilla JavaScript, * lokalne DAIAPI. Nepouzivaju sa: * databaza, * React, Vue, Angular, * TypeScript, * Node/FastAPI backend, * Redis alebo S3 ako MVP zavislost. --- ## 4. Architektura System ma dve hlavne generovacie vrstvy: ### Content layer AI generuje iba strukturovane JSON data: * nazov firmy, * slogan, * sluzby, * text O nas, * FAQ, * kontakty, * benefity, * referencie, * SEO metadata, * alt texty. ### Rendering layer PHP renderer vytvara HTML/CSS z JSON dat. Vyhody: * zmena sablony nevymaze obsah, * HTML je mozne opakovane pregenerovat, * pouzivatel nepride o data, * buduci editor moze upravovat obsah bez prepisovania HTML. --- ## 5. Wizard Wizard ma tieto kroky: 1. Segmentacia biznisu. 2. Identita, kontakt a GDPR suhlas. 3. Sluzby a smart otazky. 4. Vizualny styl a assety. 5. Moduly webu a kontaktny formular. 6. Generovanie JSON obsahu. 7. Preview vyrenderovaneho webu. 8. Export webu. Pouzivatel moze preskocit volitelne kroky a nechat rozhodnutie na AI. Povinne su typ podnikania, nazov, kontakt a GDPR suhlas. --- ## 6. Datovy model Kanonicky `wizard_data` obsahuje: ```json { "identity": {}, "contact": {}, "services": {}, "visuals": {}, "modules": {}, "assets": {}, "language": {}, "business_category": {}, "smart_answers": {} } ``` Vyznam sekcii: * `identity` - nazov firmy, slogan, kratky popis. * `contact` - email, telefon, adresa, mesto, socialne siete. * `services` - sluzby, produkty, cennikove poznamky. * `visuals` - styl, farby, typografia, hustota layoutu. * `modules` - sekcie webu a konfiguracia formulara. * `assets` - logo, obrazky, alt texty. * `language` - primarny jazyk, dalsie jazyky, ton komunikacie. * `business_category` - oblast podnikania, podkategoria, vlastny popis. * `smart_answers` - odpovede na dynamicke otazky podla segmentu. --- ## 7. AI workflow 1. Backend vytvori AI ulohu z `wizard_data`. 2. `LLMpool.php` posle ulohu do lokalneho DAIAPI. 3. DAIAPI vrati JSON content layer. 4. Backend validuje, ze vystup nie je HTML a ma ocakavane polia. 5. Content JSON sa ulozi do projektu. 6. Renderer vytvori export. Ak AI vystup nie je validny JSON alebo obsahuje nepovolene HTML ako hlavny vystup, uloha zlyha a moze sa zopakovat podla retry pravidiel. --- ## 8. Publikovanie webu MVP nevykonava publikovanie na domenu. Vystupom je exportovatelny priecinok: ```text exports// index.html config.json assets/ emailer.php # iba SMTP formular form-viewer.php # iba lokalny formular messages/ # iba lokalny formular ``` Vsetky URL su relativne a web funguje bez build procesu. --- ## 9. Kontaktny formular ### SMTP mod Pouzivatel zada SMTP host, port, username, password, encryption a recipient email. Export obsahuje `emailer.php`, ktory odosiela spravy. ### Lokalny mod Ak SMTP nie je nastaveny, formular zapisuje spravy do JSON suborov v `messages/`. Export obsahuje `form-viewer.php` s jednoduchym prihlasenim: * heslo, * session, * logout. Heslo sa uklada iba ako hash. --- ## 10. GDPR V kroku identita/kontakt je povinny checkbox: > Suhlasim so spracovanim zadanych udajov za ucelom vytvorenia webovej stranky. Suhlas sa uklada s: * `project_id`, * `user_id`, * `accepted_at`, * `consent_text_version`, * presnym textom suhlasu. Bez suhlasu nie je mozne pokracovat ku generovaniu. --- ## 11. Bezpecnostne minimum MVP musi obsahovat: * validaciu vstupov, * escapovanie pri renderovani, * ochranu proti path traversal, * neverejny `data/` priecinok, * upload limity, * kontrolu MIME typu, * zakaz spustitelnych uploadov, * rate limit na citlive AJAX akcie, * formularove skripty obmedzene na vlastny exportny priecinok. --- ## 12. Neimplementovane funkcionality MVP neriesi: * registraciu domen, * DNS, * SSL, * hosting deployment, * prihlasovanie emailom a heslom, * online platby, * booking system, * vizualny editor, * automaticke preklady celeho webu, * AI generovanie obrazkov. --- ## 13. Buduce rozsirenia Po MVP mozu pribudnut: * pouzivatelske ucty, * databazove ulozisko, * vlastne domeny, * deployment na hosting, * editor obsahu, * viacjazycne weby, * SEO odporucania, * booking integracie, * AI obrazky. --- ## Website Quality Requirements Kazdy export musi splnat: * mobile responsive design, * zakladne SEO meta tagy, * OpenGraph meta tagy, * alt texty pre obrazky, * minimalne accessibility poziadavky, * validny HTML, * validny CSS, * bez JavaScript chyb, * ziadne externe zavislosti okrem explicitne povolenych, * relativne URL, * fungovanie bez build procesu.