8356ae9ebea4d52d3a594e23393e7f50fbae4809
MathQuest - Mathe-Lernseite für Kinder
Eine einfache und spaßige Mathe-Lernseite mit Quest-Punktesystem für Kinder.
Features
- 🎯 Einfache Mathe-Aufgaben (Addition, Subtraktion, Multiplikation)
- ⭐ Quest-Punktesystem - jede Aufgabe gibt Punkte
- 📊 Fortschrittsbalken zur Visualisierung der Gesamtpunktzahl
- 💾 Persistente Speicherung der Punkte (JSON-Datei)
- 🎨 Kindgerechtes, buntes Design
Installation
-
Node.js installieren (falls noch nicht vorhanden)
-
Abhängigkeiten installieren:
npm install
Starten
npm start
Die Seite läuft dann auf http://localhost:3000
Auf VPS deployen
- Code auf den VPS hochladen
npm installausführen- Mit PM2 oder systemd als Service laufen lassen:
Mit PM2:
npm install -g pm2
pm2 start server.js --name mathquest
pm2 save
pm2 startup
Mit systemd:
Erstelle eine Service-Datei /etc/systemd/system/mathquest.service:
[Unit]
Description=MathQuest Server
After=network.target
[Service]
Type=simple
User=dein-user
WorkingDirectory=/pfad/zum/mathquest
ExecStart=/usr/bin/node server.js
Restart=always
[Install]
WantedBy=multi-user.target
Dann:
sudo systemctl enable mathquest
sudo systemctl start mathquest
- Nginx als Reverse Proxy konfigurieren (optional)
Architektur
- tasks.json: Enthält alle Mathe-Aufgaben (Fragen, Antworten, Punkte)
- Wird beim Prüfen von Antworten aktualisiert
- Speichert
userAnswerundisCorrectfür jede Aufgabe
- Backend: Prüft Antworten und speichert sie direkt in der Task
- Frontend: Lädt Aufgaben, berechnet Gesamtpunktzahl aus korrekt beantworteten Aufgaben
API Endpoints
GET /api/tasks- Lädt alle Aufgaben (inkl. gespeicherte Antworten)POST /api/check-answer- Prüft eine Antwort (taskId, answer)- Speichert
userAnswerundisCorrectin der Task - Gibt zurück:
correct,correctAnswer,points
- Speichert
Anpassungen
- Aufgaben können in
tasks.jsonangepasst werden - Design kann in
public/style.cssangepasst werden - Port kann über Umgebungsvariable
PORTgeändert werden
Description
Languages
JavaScript
56.3%
CSS
26.3%
Shell
11.4%
HTML
6%