


{"id":3904,"date":"2024-12-16T21:23:15","date_gmt":"2024-12-16T21:23:15","guid":{"rendered":"https:\/\/yininit.nl\/?p=3904"},"modified":"2024-12-19T18:28:50","modified_gmt":"2024-12-19T18:28:50","slug":"kba-hosten-en-website","status":"publish","type":"post","link":"https:\/\/yininit.nl\/index.php\/2024\/12\/16\/kba-hosten-en-website\/","title":{"rendered":"KBA hosten en website"},"content":{"rendered":"\n<p><a href=\"https:\/\/dashboard.render.com\/\">https:\/\/dashboard.render.com\/<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Stap 1: Voorbereiding<\/strong><\/h2>\n\n\n\n<p>Voor Render heb je een werkende <strong>Flask-app<\/strong>, een <strong>GitHub-repository<\/strong>, en de benodigde bestanden nodig.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 1.1: Installeer Git op je computer (indien nodig)<\/strong><\/h3>\n\n\n\n<p>Als je Git nog niet hebt ge\u00efnstalleerd:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Download en installeer Git via <a href=\"https:\/\/git-scm.com\/\">https:\/\/git-scm.com\/<\/a>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 1.2: Maak je projectmap<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open een map op je computer waar je je bestanden wilt opslaan.<\/li>\n\n\n\n<li>Maak een nieuwe map, bijvoorbeeld <code>kba_project<\/code>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 1.3: Maak de nodige bestanden<\/strong><\/h3>\n\n\n\n<p>Navigeer naar je projectmap en maak de volgende bestanden:<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>1. <code>app.py<\/code> (Flask-code):<\/strong><\/h4>\n\n\n\n<p>Gebruik een teksteditor zoals VS Code, Sublime Text, of Notepad++ om dit bestand te maken:<\/p>\n\n\n\n<p>python<\/p>\n\n\n\n<p>Code kopi\u00ebren<\/p>\n\n\n\n<p><code>from flask import Flask, request, jsonify app = Flask(__name__) @app.route(\"\/kba\", methods=[\"POST\"]) def answer_question(): data = request.json vraag = data.get(\"vraag\", \"\") if not vraag: return jsonify({\"error\": \"Geen vraag ontvangen.\"}), 400 antwoord = f\"Hier is je antwoord op: '{vraag}'\" return jsonify({\"vraag\": vraag, \"antwoord\": antwoord}) if __name__ == \"__main__\": app.run(host=\"0.0.0.0\", port=5000)<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>2. <code>requirements.txt<\/code> (afhankelijkheden):<\/strong><\/h4>\n\n\n\n<p>Maak een bestand <code>requirements.txt<\/code> in dezelfde map en voeg de volgende regels toe:<\/p>\n\n\n\n<p>Code kopi\u00ebren<\/p>\n\n\n\n<p><code>flask<\/code><\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>3. <code>Procfile<\/code> (Render-configuratie):<\/strong><\/h4>\n\n\n\n<p>Maak een bestand genaamd <code>Procfile<\/code> (zonder extensie!) en voeg de volgende regel toe:<\/p>\n\n\n\n<p>makefile<\/p>\n\n\n\n<p>Code kopi\u00ebren<\/p>\n\n\n\n<p><code>web: python app.py<\/code><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Stap 2: Upload je project naar GitHub<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 2.1: Maak een GitHub-repository<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ga naar <a href=\"https:\/\/github.com\/\">GitHub<\/a> en log in.<\/li>\n\n\n\n<li>Klik op <strong>New Repository<\/strong>.<\/li>\n\n\n\n<li>Geef je repository een naam, bijvoorbeeld <code>kba_project<\/code>, en klik op <strong>Create Repository<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 2.2: Upload je bestanden naar GitHub<\/strong><\/h3>\n\n\n\n<p><em>In CMD:<\/em><\/p>\n\n\n\n<p>echo &#8220;# kba_project&#8221; &gt;&gt; README.md <\/p>\n\n\n\n<p>git init <\/p>\n\n\n\n<p>git add README.md <\/p>\n\n\n\n<p>git commit -m &#8220;first commit&#8221; <\/p>\n\n\n\n<p>git branch -M main <\/p>\n\n\n\n<p>git remote add origin https:\/\/github.com\/BeatrijsvO\/kba_project.git <\/p>\n\n\n\n<p>git push -u origin main<\/p>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Stap 3: Host je KBA op Render<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 3.1: Maak een Render-account<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Ga naar <a href=\"https:\/\/render.com\/\">Render<\/a> en meld je aan.<\/li>\n\n\n\n<li>Klik op <strong>New \u2192 Web Service<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 3.2: Koppel Render aan je GitHub-repository<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Selecteer je GitHub-repository <code>kba_project<\/code>.<\/li>\n\n\n\n<li>Klik op <strong>Connect<\/strong>.<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 3.3: Configureer de hosting<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Vul de instellingen in:\n<ul class=\"wp-block-list\">\n<li><strong>Environment<\/strong>: <code>Python 3.x<\/code><\/li>\n\n\n\n<li><strong>Build Command<\/strong>: <code>pip install -r requirements.txt<\/code><\/li>\n\n\n\n<li><strong>Start Command<\/strong>: <code>python app.py<\/code><\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Klik op <strong>Create Web Service<\/strong>.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 3.4: Wacht tot de deploy klaar is<\/strong><\/h3>\n\n\n\n<p>Render bouwt je applicatie en geeft een URL, bijvoorbeeld:<\/p>\n\n\n\n<p><a href=\"https:\/\/kba-service.onrender.com\">https:\/\/kba-project.onrender.com<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Stap 4: Voeg de KBA toe aan je website<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 4.1: Maak een HTML-formulier<\/strong><\/h3>\n\n\n\n<p>Voeg dit formulier toe aan je WordPress-website of een andere website (html):<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><code>&lt;form id=\"kbaForm\"&gt; &lt;label for=\"vraag\"&gt;Stel je vraag:&lt;\/label&gt; &lt;input type=\"text\" id=\"vraag\" name=\"vraag\" required&gt; &lt;button type=\"submit\"&gt;Verstuur&lt;\/button&gt; &lt;\/form&gt; &lt;div id=\"antwoord\"&gt;&lt;\/div&gt; &lt;script&gt; document.getElementById(\"kbaForm\").addEventListener(\"submit\", async function(e) { e.preventDefault(); const vraag = document.getElementById(\"vraag\").value; const response = await fetch(\"<\/code><strong>https:\/\/kba-project.onrender.com<\/strong><code><strong>\/kba<\/strong>\", { method: \"POST\", headers: { \"Content-Type\": \"application\/json\" }, body: JSON.stringify({ vraag }) }); const data = await response.json(); document.getElementById(\"antwoord\").innerText = data.antwoord || \"Er is iets misgegaan.\"; }); &lt;\/script&gt;<\/code><\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Stap 4.2: Test het formulier<\/strong><\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Open je website en voer een vraag in het formulier in.<\/li>\n\n\n\n<li>Je zou een antwoord moeten krijgen van je KBA die draait op Render.<\/li>\n<\/ol>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Samenvatting<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Stap 1-2<\/strong>: Maak je Flask-app lokaal en upload deze naar GitHub.<\/li>\n\n\n\n<li><strong>Stap 3<\/strong>: Host de app gratis op Render.<\/li>\n\n\n\n<li><strong>Stap 4<\/strong>: Integreer je KBA via een formulier op je website.<\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<h1 class=\"wp-block-heading\">TEST<\/h1>\n\n\n\n<form id=\"kbaForm\">\n  <label for=\"vraag\">Stel je vraag:<\/label>\n  <input type=\"text\" id=\"vraag\" name=\"vraag\" required>\n  <button type=\"submit\">Verstuur<\/button>\n<\/form>\n<div id=\"antwoord\"><\/div>\n\n<script>\n  document.getElementById(\"kbaForm\").addEventListener(\"submit\", async function(e) {\n    e.preventDefault();\n    const vraag = document.getElementById(\"vraag\").value;\n\n    try {\n      const response = await fetch(\"https:\/\/kba-project.onrender.com\/kba\", {\n        method: \"POST\",\n        headers: {\n          \"Content-Type\": \"application\/json\"\n        },\n        body: JSON.stringify({ vraag })\n      });\n\n      const data = await response.json();\n      document.getElementById(\"antwoord\").innerText = data.antwoord || \"Er is iets misgegaan.\";\n    } catch (error) {\n      document.getElementById(\"antwoord\").innerText = \"Fout: \" + error.message;\n    }\n  });\n<\/script>\n","protected":false},"excerpt":{"rendered":"<p>https:\/\/dashboard.render.com\/ Stap 1: Voorbereiding Voor Render heb je een werkende Flask-app, een GitHub-repository, en de benodigde bestanden nodig. Stap 1.1: Installeer Git op je computer (indien nodig) Als je Git nog niet hebt ge\u00efnstalleerd: Stap 1.2: Maak je projectmap Stap 1.3: Maak de nodige bestanden Navigeer naar je projectmap en maak de volgende bestanden: 1. [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16,1],"tags":[],"class_list":["post-3904","post","type-post","status-publish","format-standard","hentry","category-algemeen","category-robot"],"_links":{"self":[{"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/posts\/3904","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/comments?post=3904"}],"version-history":[{"count":16,"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/posts\/3904\/revisions"}],"predecessor-version":[{"id":3929,"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/posts\/3904\/revisions\/3929"}],"wp:attachment":[{"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/media?parent=3904"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/categories?post=3904"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/yininit.nl\/index.php\/wp-json\/wp\/v2\/tags?post=3904"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}