Files
WebWizard/docs/specification.md

214 lines
4.7 KiB
Markdown

# WebWizard - Produktova specifikacia MVP
WebWizard je **AI website concierge**: pouzivatel odpovie na kratky wizard a system z tychto odpovedi pripravi exportovatelny staticky web.
Cielom MVP nie je vytvorit plnohodnotny website builder. Pouzivatel nema rucne presuvat bloky ani ladit pixely. MVP zbiera kvalitne vstupy, vygeneruje obsah, vyrenderuje web a umozni export.
---
## 1. Produktovy ciel
Pouzivatel bez technickych znalosti ma ziskat prvy pouzitelny web pre firmu alebo projekt.
MVP musi vyriesit:
* zber dolezitych informacii cez wizard,
* AI vytvorenie textoveho obsahu v strukturovanom JSON formate,
* renderovanie statickeho HTML/CSS z JSON dat,
* export webu bez build procesu,
* volitelny kontaktny formular,
* zakladnu ochranu osobnych udajov.
MVP nesmie riesit:
* registraciu domen,
* DNS,
* automaticke nasadenie na domenu,
* SSL,
* databazu,
* frameworky,
* React, Vue, Angular ani TypeScript.
---
## 2. Zakladny tok pouzivatela
1. Pouzivatel otvori wizard.
2. Vyberie typ podnikania a podkategoriu.
3. Zada identitu firmy, kontaktne udaje a potvrdi GDPR suhlas.
4. Vyplni sluzby, smart odpovede, vizualny styl, moduly, jazyk a obrazky.
5. System ulozi odpovede ako `wizard_data`.
6. Backend vytvori ulohu pre DAIAPI.
7. DAIAPI vrati **iba strukturovany JSON obsah**.
8. Rendering layer vytvori HTML/CSS z JSON dat.
9. Pouzivatel uvidi preview a moze pregenerovat obsah alebo exportovat web.
---
## 3. Wizard vstupy
Wizard zbiera minimum povinnych udajov a ostatne hodnoty doplna cez smart defaults.
Povinne vstupy:
* typ podnikania,
* podkategoria alebo vlastny popis,
* nazov firmy alebo projektu,
* email alebo telefon,
* GDPR suhlas.
Volitelne vstupy:
* slogan,
* adresa,
* mesto/region,
* sluzby,
* cennik,
* otvaracie hodiny,
* benefity,
* referencie,
* socialne siete,
* logo,
* obrazky,
* farebna paleta,
* styl,
* jazyk,
* kontaktny formular.
---
## 4. AI generovanie obsahu
AI nikdy negeneruje priamo HTML, CSS ani JavaScript.
AI generuje **content layer**:
```json
{
"hero": {
"headline": "Pizza Marco",
"subheadline": "Poctiva pizzeria v Kosiciach",
"cta_label": "Objednat"
},
"about": {
"title": "O nas",
"body": "Sme lokalna pizzeria..."
},
"services": [
{
"title": "Pizza na donasku",
"description": "Rychla donaska po meste."
}
],
"faq": [
{
"question": "Robite donasku?",
"answer": "Ano, v ramci Kosic."
}
]
}
```
Rendering layer z tychto dat vytvori HTML.
Vyhody:
* zmena sablony nevymaze obsah,
* HTML je mozne opakovane pregenerovat,
* pouzivatel nepride o data,
* buduci editor moze upravovat JSON obsah bez prepisovania HTML.
---
## 5. Moduly webu
MVP podporuje tieto moduly:
* uvodna sekcia,
* o nas,
* sluzby,
* cennik alebo menu,
* galeria,
* referencie,
* FAQ,
* kontakt,
* kontaktny formular.
Kazdy modul je reprezentovany v JSON datovej vrstve a renderer rozhodne, ako bude vyzerat vo vyslednom HTML.
---
## 6. Kontaktny formular
Kontaktny formular ma dva rezimy.
### SMTP mod
Pouzivatel zada:
* SMTP host,
* port,
* username,
* password,
* encryption (`none`, `tls`, `ssl`),
* recipient email.
Tieto udaje sa ulozia do konfiguracie exportovaneho webu. Pri exporte sa ku webu prilozi `emailer.php`, ktory spracuje POST z formulara a odosle email.
### Lokalny mod
Ak pouzivatel SMTP nenastavi, formular zapisuje spravy do JSON suborov:
```text
/messages/
2026-06-11-123456.json
```
Pri exporte sa prilozi `form-viewer.php`, ktory umozni jednoduche prezeranie sprav.
Minimalne zabezpecenie:
* heslo ulozene ako hash v konfiguracii,
* PHP session po prihlaseni,
* logout,
* ochrana pred prezeranim bez prihlasenia.
---
## 7. Website Quality Requirements
Kazdy vygenerovany web musi splnat:
* mobile responsive layout pre telefon, tablet aj desktop,
* zakladne SEO meta tagy: `title`, `description`, canonical relativne k exportu ak je pouzitelne,
* OpenGraph meta tagy: `og:title`, `og:description`, `og:type`, volitelne `og:image`,
* alt texty pre vsetky obsahove obrazky,
* minimalnu accessibility: semanticke landmarky, jeden `h1`, logicka hierarchia nadpisov, citatelny kontrast, focus stavy,
* validny HTML,
* validny CSS,
* ziadne JavaScript chyby v konzole,
* ziadne externe zavislosti okrem explicitne povolenych fontov alebo obrazkov,
* relativne URL,
* fungovanie bez build procesu.
---
## 8. Biznis pravidlo proti scope creepu
MVP je uzavrety concierge workflow.
Pouzivatel moze:
* zmenit odpovede vo wizard krokov,
* pregenerovat obsah,
* zmenit vizualny styl,
* exportovat web.
Pouzivatel nemoze:
* rucne presuvat elementy,
* editovat DOM ako v builderi,
* spravovat domenu alebo hosting priamo z MVP.
Manualne upravy webu su mimo MVP a patria do buduceho editora alebo platenej sluzby.