merged data info and created one mvp.md

This commit is contained in:
2026-06-11 19:10:52 +02:00
parent ba5fd5f7f6
commit a0a1365d48
5 changed files with 1364 additions and 541 deletions

275
docs/mvp.md Normal file
View File

@ -0,0 +1,275 @@
# 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/<project_id>/
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.