implemented step 20 by Gemini

- README documentation
This commit is contained in:
2026-06-15 05:25:10 +02:00
parent 8ed5413116
commit cea97332b4
2 changed files with 80 additions and 4 deletions

View File

@ -1,3 +1,77 @@
# WebWizard # WebWizard - AI Website Concierge (MVP)
Simple wizard for create website with LLM. WebWizard je inteligentný asistent na tvorbu statických webových stránok pre malé podniky a živnostníkov. Pomocou intuitívneho wizardu a umelej inteligencie (DAIAPI) premení vaše základné informácie na profesionálny, responzívny web pripravený na nasadenie.
## 🚀 Hlavné funkcie
- **Inteligentný Wizard**: 8 krokov od definície biznisu až po finálny export.
- **AI Content Generation**: Automatické písanie marketingových textov a SEO metadát cez DAIAPI.
- **Vizuálna personalizácia**: Výber z preddefinovaných farebných paliet a dizajnových štýlov.
- **Správa Assetov**: Asynchrónne nahrávanie loga a fotogalérie.
- **Kontaktný formulár**: Podpora SMTP odosielania alebo lokálneho ukladania správ s vlastným prehliadačom.
- **Statický Export**: Kompletný balíček webu v ZIP formáte pripravený na FTP upload.
## 🛠️ Technický Stack
- **Backend**: PHP 8.2+ (bez frameworkov, čistý kód).
- **Frontend**: Vanilla JavaScript (ES6+), CSS Grid/Flexbox.
- **Dáta**: Súborový systém (JSON), žiadna databáza.
- **AI**: Integrácia s lokálnym DAIAPI.
## 📋 Požiadavky
- Webový server (Apache/Nginx) s podporou PHP 8.2.
- PHP rozšírenia: `curl`, `zip`, `fileinfo`.
- Povolený zápis (write permissions) do priečinkov `data/` a `exports/`.
## ⚙️ Inštalácia
1. Naklonujte repozitár na váš server.
2. Spustite `composer install` pre vygenerovanie autoloadera.
3. Skopírujte `.env.example` do `.env` a nastavte URL pre vaše DAIAPI:
```ini
DAIAPI_URL=http://10.2.8.1:9001/run
```
4. Nastavte Document Root vášho webservera do priečinka `public/`.
### Príklad NGINX konfigurácie
Pre správne fungovanie (najmä prístup k náhľadom v `/exports`) odporúčame nasledovnú konfiguráciu:
```nginx
server {
listen 80;
server_name webwizard.test;
root /cesta/k/projektu/public;
# Sprístupnenie vygenerovaných webov pre náhľad
location /exports {
alias /cesta/k/projektu/exports;
}
location / {
index index.php index.html;
try_files $uri $uri/ /index.php?$query_string;
}
include php.conf; # alebo vaša konfigurácia pre PHP-FPM
}
```
## 🤖 Spustenie Workera
Pre spracovanie AI úloh na pozadí je potrebné spustiť worker skript:
**Manuálne (DEV):**
```powershell
php scripts/worker.php --loop
```
**Cez Cron (PROD):**
Nastavte spúšťanie každú minútu:
```cron
* * * * * /usr/bin/php /cesta/k/projektu/scripts/worker.php >> /cesta/k/projektu/data/worker.log 2>&1
```
## 🔒 Bezpečnosť
- Všetky vstupné dáta sú sanitizované.
- Prístup do `data/` je blokovaný cez `.htaccess`.
- Citlivé konfigurácie exportovaných webov sú uložené v `.php` súboroch.
- Heslá pre prezeranie správ sú hašované pomocou `password_hash()`.
## 📄 Licencia
MIT

View File

@ -784,7 +784,7 @@ const App = {
try { try {
const result = await this.apiCall('generateWebsite'); const result = await this.apiCall('generateWebsite');
if (result.success) { if (result.success) {
console.log('Generation started:', result.data.task_id);
this.startPolling(); this.startPolling();
} }
} catch (error) { } catch (error) {
@ -817,7 +817,7 @@ const App = {
} catch (error) { } catch (error) {
console.error('Polling error:', error); console.error('Polling error:', error);
} }
}, 10000); }, 5000);
}, },
updateGenerationStatus(status) { updateGenerationStatus(status) {
@ -886,3 +886,5 @@ const App = {
}; };
document.addEventListener('DOMContentLoaded', () => App.init()); document.addEventListener('DOMContentLoaded', () => App.init());
App.init());