Files
WebWizard/docs/mvp.md

5.4 KiB

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:

{
  "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:

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.