feat: onderwijs AI set en start script toegevoegd
- 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 <noreply@anthropic.com>
This commit is contained in:
parent
b5faaaae61
commit
29a135a1f2
5 changed files with 186 additions and 9 deletions
21
TODO.md
Normal file
21
TODO.md
Normal file
|
|
@ -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.
|
||||||
|
|
@ -28,13 +28,13 @@
|
||||||
"rechts": "Ik stop alles in mapjes"
|
"rechts": "Ik stop alles in mapjes"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"links": "Kennis zit in mijn hoofd",
|
"links": "Organisatiekennis zit in mijn hoofd",
|
||||||
"rechts": "Kennis staat in het systeem"
|
"rechts": "Organisatiekennis staat in het systeem"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"links": "Ik kom vandaag vooral halen",
|
"links": "Ik kom vandaag vooral halen",
|
||||||
"rechts": "Ik kom vandaag ook brengen"
|
"rechts": "Ik kom vandaag ook brengen"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timer": 2
|
"timer": 10
|
||||||
}
|
}
|
||||||
64
sets.json
64
sets.json
|
|
@ -1,5 +1,5 @@
|
||||||
{
|
{
|
||||||
"activeSetId": "set-1765963899829",
|
"activeSetId": "default",
|
||||||
"sets": [
|
"sets": [
|
||||||
{
|
{
|
||||||
"config": {
|
"config": {
|
||||||
|
|
@ -32,8 +32,8 @@
|
||||||
"rechts": "Ik stop alles in mapjes"
|
"rechts": "Ik stop alles in mapjes"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"links": "Kennis zit in mijn hoofd",
|
"links": "Organisatiekennis zit in mijn hoofd",
|
||||||
"rechts": "Kennis staat in het systeem"
|
"rechts": "Organisatiekennis staat in het systeem"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"links": "Ik kom vandaag vooral halen",
|
"links": "Ik kom vandaag vooral halen",
|
||||||
|
|
@ -126,8 +126,6 @@
|
||||||
"name": "Kerstboom"
|
"name": "Kerstboom"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"id": "set-1765963899829",
|
|
||||||
"name": "Korte Pilot sessie",
|
|
||||||
"config": {
|
"config": {
|
||||||
"buttonText": "Volgende stelling",
|
"buttonText": "Volgende stelling",
|
||||||
"colors": {
|
"colors": {
|
||||||
|
|
@ -137,6 +135,10 @@
|
||||||
"finishText": "Dat was het! Having fun yet?",
|
"finishText": "Dat was het! Having fun yet?",
|
||||||
"fontSize": "3rem",
|
"fontSize": "3rem",
|
||||||
"stellingen": [
|
"stellingen": [
|
||||||
|
{
|
||||||
|
"links": "AI helpt me dagelijks (ChatGPT e.d.)",
|
||||||
|
"rechts": "Mag dat wel van de IT-afdeling?"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"links": "Koffie",
|
"links": "Koffie",
|
||||||
"rechts": "Thee"
|
"rechts": "Thee"
|
||||||
|
|
@ -167,7 +169,57 @@
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"timer": 2
|
"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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
72
start.sh
Executable file
72
start.sh
Executable file
|
|
@ -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
|
||||||
|
|
@ -198,5 +198,37 @@
|
||||||
{
|
{
|
||||||
"links": "Onze afspraken over informatie werken",
|
"links": "Onze afspraken over informatie werken",
|
||||||
"rechts": "Iedereen doet toch maar wat"
|
"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"
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
Loading…
Reference in a new issue