From 29a135a1f2a040da882880a50cedc2264e6f2772 Mon Sep 17 00:00:00 2001 From: Frank Meeuwsen Date: Tue, 27 Jan 2026 12:09:29 +0100 Subject: [PATCH] feat: onderwijs AI set en start script toegevoegd MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Nieuwe "Onderwijs AI" set met 8 stellingen voor basisschool context - 8 extra AI-onderwijs stellingen toegevoegd aan stellingkast - start.sh script voor automatische venv setup en server start - TODO.md geüpdatet: alle taken voltooid, project productie-klaar - Config minor updates (timer en tekstwijzigingen) Co-Authored-By: Claude Sonnet 4.5 --- TODO.md | 21 ++++++++++++++ config.json | 6 ++-- sets.json | 64 +++++++++++++++++++++++++++++++++++++---- start.sh | 72 +++++++++++++++++++++++++++++++++++++++++++++++ stellingkast.json | 32 +++++++++++++++++++++ 5 files changed, 186 insertions(+), 9 deletions(-) create mode 100644 TODO.md create mode 100755 start.sh diff --git a/TODO.md b/TODO.md new file mode 100644 index 0000000..5f1a500 --- /dev/null +++ b/TODO.md @@ -0,0 +1,21 @@ +# TODO - ijsbreker + +## Voltooide Taken ✅ + +### High Priority +- [x] Virtual environment opzetten (venv) - start.sh regelt automatisch +- [x] Requirements.txt bijwerken - volledig up-to-date +- [x] Core functionaliteit werkend - volledig functioneel v1.0 + +### Medium Priority +- [x] Project documentatie - README.md en CLAUDE.md compleet +- [x] Configuratie management - sets systeem werkend +- [x] Editor interface - volledig functioneel met drag & drop + +### Low Priority +- [x] Start script - start.sh voor automatische setup +- [x] Workshop sets - meerdere configuraties mogelijk +- [x] Stellingkast - bibliotheek met 50+ stellingen + +## Project Status +Het IJsbreker Workshop Spel is volledig functioneel en productie-klaar. Alle core features zijn geïmplementeerd en gedocumenteerd. diff --git a/config.json b/config.json index 61854a0..babbc76 100644 --- a/config.json +++ b/config.json @@ -28,13 +28,13 @@ "rechts": "Ik stop alles in mapjes" }, { - "links": "Kennis zit in mijn hoofd", - "rechts": "Kennis staat in het systeem" + "links": "Organisatiekennis zit in mijn hoofd", + "rechts": "Organisatiekennis staat in het systeem" }, { "links": "Ik kom vandaag vooral halen", "rechts": "Ik kom vandaag ook brengen" } ], - "timer": 2 + "timer": 10 } \ No newline at end of file diff --git a/sets.json b/sets.json index 4366968..837cab5 100644 --- a/sets.json +++ b/sets.json @@ -1,5 +1,5 @@ { - "activeSetId": "set-1765963899829", + "activeSetId": "default", "sets": [ { "config": { @@ -32,8 +32,8 @@ "rechts": "Ik stop alles in mapjes" }, { - "links": "Kennis zit in mijn hoofd", - "rechts": "Kennis staat in het systeem" + "links": "Organisatiekennis zit in mijn hoofd", + "rechts": "Organisatiekennis staat in het systeem" }, { "links": "Ik kom vandaag vooral halen", @@ -126,8 +126,6 @@ "name": "Kerstboom" }, { - "id": "set-1765963899829", - "name": "Korte Pilot sessie", "config": { "buttonText": "Volgende stelling", "colors": { @@ -137,6 +135,10 @@ "finishText": "Dat was het! Having fun yet?", "fontSize": "3rem", "stellingen": [ + { + "links": "AI helpt me dagelijks (ChatGPT e.d.)", + "rechts": "Mag dat wel van de IT-afdeling?" + }, { "links": "Koffie", "rechts": "Thee" @@ -167,7 +169,57 @@ } ], "timer": 2 - } + }, + "id": "set-1765963899829", + "name": "Korte Pilot sessie" + }, + { + "config": { + "buttonText": "Volgende stelling", + "colors": { + "left": "#3b82f6", + "right": "#ef4444" + }, + "finishText": "Bedankt voor jullie inbreng!", + "fontSize": "3rem", + "stellingen": [ + { + "links": "AI helpt mij lessen voorbereiden", + "rechts": "Lesvoorbereiding doe ik zelf" + }, + { + "links": "Leerlingen mogen AI gebruiken", + "rechts": "AI is verboden in mijn klas" + }, + { + "links": "AI maakt mij een betere docent", + "rechts": "AI bedreigt mijn vakmanschap" + }, + { + "links": "AI voor nakijkwerk en feedback", + "rechts": "Feedback blijft handwerk" + }, + { + "links": "Leerlingdata in AI? Prima!", + "rechts": "Leerlingdata horen niet in AI" + }, + { + "links": "AI-plaatjes in de les", + "rechts": "Zelf getekende materialen" + }, + { + "links": "AI helpt bij inclusie", + "rechts": "Inclusie vraagt menselijk maatwerk" + }, + { + "links": "AI analyseert leerlingresultaten", + "rechts": "Data analyse met menselijke blik" + } + ], + "timer": 10 + }, + "id": "onderwijs-ai", + "name": "Onderwijs AI" } ] } \ No newline at end of file diff --git a/start.sh b/start.sh new file mode 100755 index 0000000..5047196 --- /dev/null +++ b/start.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# IJsbreker Workshop - Start Script +# Checkt venv, installeert dependencies, start server en opent editor + +echo "🧊 IJsbreker Workshop - Starting..." +echo "" + +# Check of venv directory bestaat +if [ ! -d "venv" ]; then + echo "❌ Virtual environment niet gevonden." + echo "📦 Aanmaken van venv..." + python3 -m venv venv + if [ $? -ne 0 ]; then + echo "❌ Fout bij aanmaken venv. Installeer Python 3 eerst." + exit 1 + fi + echo "✅ venv aangemaakt" +fi + +# Activeer venv +echo "🔌 Activeren van virtual environment..." +source venv/bin/activate + +# Check of requirements zijn geïnstalleerd +echo "📋 Checken dependencies..." +if ! python -c "import flask; import flask_cors" 2>/dev/null; then + echo "📦 Installeren van dependencies..." + pip install -r requirements.txt + if [ $? -ne 0 ]; then + echo "❌ Fout bij installeren dependencies." + exit 1 + fi + echo "✅ Dependencies geïnstalleerd" +else + echo "✅ Dependencies OK" +fi + +# Start Flask server in achtergrond +echo "🚀 Starten van Flask server..." +python server.py & +SERVER_PID=$! + +# Wacht tot server is opgestart (max 5 seconden) +echo "⏳ Wachten tot server klaar is..." +for i in {1..10}; do + if curl -s http://localhost:8000 > /dev/null 2>&1; then + echo "✅ Server draait op http://localhost:8000" + break + fi + sleep 0.5 +done + +# Open editor in browser +echo "🌐 Openen van editor in browser..." +sleep 1 +open http://localhost:8000/editor.html + +echo "" +echo "✅ IJsbreker is gestart!" +echo "" +echo "📝 Editor: http://localhost:8000/editor.html" +echo "🎯 Presentatie: http://localhost:8000/index.html" +echo "" +echo "💡 Druk Ctrl+C om te stoppen" +echo "" + +# Wacht op Ctrl+C en stop server netjes +trap "echo ''; echo '🛑 Stoppen van server...'; kill $SERVER_PID; exit 0" INT + +# Blijf draaien totdat gebruiker stopt +wait $SERVER_PID diff --git a/stellingkast.json b/stellingkast.json index ae7d273..0caa86f 100644 --- a/stellingkast.json +++ b/stellingkast.json @@ -198,5 +198,37 @@ { "links": "Onze afspraken over informatie werken", "rechts": "Iedereen doet toch maar wat" + }, + { + "links": "ChatGPT voor differentiatie", + "rechts": "Maatwerk maak ik zelf" + }, + { + "links": "ChatGPT schrijft mijn nieuwsbrief", + "rechts": "Alle teksten schrijf ik zelf" + }, + { + "links": "AI bespaart mij tijd", + "rechts": "AI kost mij juist meer tijd" + }, + { + "links": "Ik experimenteer graag met AI", + "rechts": "Ik wacht eerst maar af" + }, + { + "links": "AI helpt bij de werkdruk", + "rechts": "AI is er weer iets bij" + }, + { + "links": "AI voor administratie", + "rechts": "Handmatig blijft betrouwbaarder" + }, + { + "links": "AI-chatbot voor oudercontact", + "rechts": "Persoonlijk gesprek met ouders" + }, + { + "links": "AI is de toekomst van onderwijs", + "rechts": "Leraren zijn de toekomst van onderwijs" } ] \ No newline at end of file