diff --git a/.env.example b/.env.example
new file mode 100644
index 0000000..d1293b8
--- /dev/null
+++ b/.env.example
@@ -0,0 +1,2 @@
+# Production default
+DAIAPI_URL=http://192.168.122.10:9001/run
diff --git a/.gitignore b/.gitignore
index 70ab577..b1aeafe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -3,3 +3,5 @@
/data/llm/*.json
/data/projects/*.json
/data/users/*.json
+/vendor/
+.env
diff --git a/public/ajax.php b/public/ajax.php
index 0af3aaf..dc421a9 100644
--- a/public/ajax.php
+++ b/public/ajax.php
@@ -4,6 +4,9 @@ declare(strict_types=1);
require_once __DIR__ . '/../vendor/autoload.php';
+// Load configuration
+\App\Utils\Config::load(__DIR__ . '/../.env');
+
// Set headers
header('Content-Type: application/json; charset=utf-8');
diff --git a/src/Prompts/ContentPrompt.php b/src/Prompts/ContentPrompt.php
new file mode 100644
index 0000000..e116a3b
--- /dev/null
+++ b/src/Prompts/ContentPrompt.php
@@ -0,0 +1,69 @@
+ $val) {
+ $valStr = is_bool($val) ? ($val ? 'Áno' : 'Nie') : $val;
+ $answersStr .= "- $id: $valStr\n";
+ }
+
+ $prompt = "Si profesionálny copywriter a marketingový špecialista. Tvojou úlohou je vytvoriť obsah pre novú webovú stránku pre klienta: \"$businessName\".\n\n";
+ $prompt .= "KONTEXT:\n";
+ $prompt .= "- Oblasť: $group / $subcategory\n";
+ $prompt .= "- Slogan: $tagline\n";
+ $prompt .= "- Popis: $description\n";
+ $prompt .= "- Ponúkané služby:\n$servicesStr\n";
+ $prompt .= "- Doplnujúce fakty:\n$answersStr\n\n";
+
+ $prompt .= "POŽIADAVKY NA OBSAH:\n";
+ $prompt .= "1. Píš v slovenskom jazyku, tónom, ktorý sa hodí pre daný segment (napr. priateľský pre kaviareň, profesionálny pre advokáta).\n";
+ $prompt .= "2. Vytvor SEO titulok a meta popis pre domovskú stránku.\n";
+ $prompt .= "3. Vytvor texty pre Hero sekciu (nadpis a podnadpis).\n";
+ $prompt .= "4. Vytvor sekciu 'O nás' (cca 3 odseky).\n";
+ $prompt .= "5. Rozšír popisy služieb na atraktívne marketingové texty.\n";
+ $prompt .= "6. Navrhni 3-5 otázok a odpovedí pre FAQ sekciu na základe kontextu.\n\n";
+
+ $prompt .= "STRIKTNÉ PRAVIDLÁ:\n";
+ $prompt .= "- Odpovedaj VÝHRADNE vo formáte JSON.\n";
+ $prompt .= "- V žiadnom prípade NEPOUŽÍVAJ HTML tagy (žiadne
,
,
atď.).\n";
+ $prompt .= "- Obsah musí byť pripravený na priame vloženie do šablóny.\n\n";
+
+ $prompt .= "FORMÁT ODPOVEDE (JSON):\n";
+ $prompt .= "{\n";
+ $prompt .= " \"seo\": { \"title\": \"...\", \"description\": \"...\" },\n";
+ $prompt .= " \"hero\": { \"title\": \"...\", \"subtitle\": \"...\" },\n";
+ $prompt .= " \"about\": { \"title\": \"O nás\", \"text\": \"...\" },\n";
+ $prompt .= " \"services\": [\n";
+ $prompt .= " { \"id\": \"...\", \"title\": \"...\", \"text\": \"...\", \"price_info\": \"...\" }\n";
+ $prompt .= " ],\n";
+ $prompt .= " \"faq\": [\n";
+ $prompt .= " { \"question\": \"...\", \"answer\": \"...\" }\n";
+ $prompt .= " ]\n";
+ $prompt .= "}\n";
+
+ return $prompt;
+ }
+}
diff --git a/src/Services/DAIClient.php b/src/Services/DAIClient.php
new file mode 100644
index 0000000..1341679
--- /dev/null
+++ b/src/Services/DAIClient.php
@@ -0,0 +1,72 @@
+apiUrl = $apiUrl;
+ } else {
+ $this->apiUrl = \App\Utils\Config::get('DAIAPI_URL', 'http://192.168.122.10:9001/run');
+ }
+ }
+
+ /**
+ * Sends a prompt to the DAIAPI and returns the raw answer string.
+ */
+ public function sendRequest(string $prompt): ?string
+ {
+ $payload = json_encode([
+ 'prompt' => $prompt
+ ]);
+
+ if ($payload === false) {
+ error_log("DAIClient Error: Failed to encode JSON payload.");
+ return null;
+ }
+
+ $ch = curl_init($this->apiUrl);
+ curl_setopt_array($ch, [
+ CURLOPT_RETURNTRANSFER => true,
+ CURLOPT_POST => true,
+ CURLOPT_HTTPHEADER => [
+ 'Content-Type: application/json',
+ 'Content-Length: ' . strlen($payload)
+ ],
+ CURLOPT_POSTFIELDS => $payload,
+ CURLOPT_TIMEOUT => $this->timeout,
+ ]);
+
+ $response = curl_exec($ch);
+ $error = curl_error($ch);
+ $httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
+ curl_close($ch);
+
+ if ($response === false) {
+ error_log("DAIClient Error: cURL error: $error");
+ return null;
+ }
+
+ if ($httpCode !== 200) {
+ error_log("DAIClient Error: API returned HTTP code $httpCode. Response: $response");
+ return null;
+ }
+
+ $data = json_decode($response, true);
+ if (!is_array($data) || empty($data['success']) || !isset($data['answer'])) {
+ error_log("DAIClient Error: Invalid API response format: " . $response);
+ return null;
+ }
+
+ return $data['answer'];
+ }
+}
diff --git a/src/Utils/Config.php b/src/Utils/Config.php
new file mode 100644
index 0000000..18b35d0
--- /dev/null
+++ b/src/Utils/Config.php
@@ -0,0 +1,49 @@
+sendRequest($testPrompt);
+$endTime = microtime(true);
+
+$duration = round($endTime - $startTime, 2);
+
+echo PHP_EOL;
+
+if ($answer !== null) {
+ echo "[SUCCESS] Pripojenie je funkčné!" . PHP_EOL;
+ echo "[INFO] Čas odpovede: {$duration}s" . PHP_EOL;
+ echo "--- ODPOVEĎ OD AI ---" . PHP_EOL;
+ echo $answer . PHP_EOL;
+ echo "---------------------" . PHP_EOL;
+} else {
+ echo "[ERROR] Nepodarilo sa získať odpoveď od DAIAPI." . PHP_EOL;
+ echo "[DEBUG] Skontrolujte, či:" . PHP_EOL;
+ echo "1. Ste pripojený k VPN/sieti, kde beží DAIAPI." . PHP_EOL;
+ echo "2. Adresa http://192.168.122.10:9001 je dostupná." . PHP_EOL;
+ echo "3. API server nie je preťažený." . PHP_EOL;
+}