initial page
This commit is contained in:
89
README.md
Normal file
89
README.md
Normal file
@@ -0,0 +1,89 @@
|
||||
# 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
|
||||
|
||||
1. Node.js installieren (falls noch nicht vorhanden)
|
||||
|
||||
2. Abhängigkeiten installieren:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## Starten
|
||||
|
||||
```bash
|
||||
npm start
|
||||
```
|
||||
|
||||
Die Seite läuft dann auf `http://localhost:3000`
|
||||
|
||||
## Auf VPS deployen
|
||||
|
||||
1. Code auf den VPS hochladen
|
||||
2. `npm install` ausführen
|
||||
3. Mit PM2 oder systemd als Service laufen lassen:
|
||||
|
||||
### Mit PM2:
|
||||
```bash
|
||||
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`:
|
||||
```ini
|
||||
[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:
|
||||
```bash
|
||||
sudo systemctl enable mathquest
|
||||
sudo systemctl start mathquest
|
||||
```
|
||||
|
||||
4. 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 `userAnswer` und `isCorrect` fü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 `userAnswer` und `isCorrect` in der Task
|
||||
- Gibt zurück: `correct`, `correctAnswer`, `points`
|
||||
|
||||
## Anpassungen
|
||||
|
||||
- Aufgaben können in `tasks.json` angepasst werden
|
||||
- Design kann in `public/style.css` angepasst werden
|
||||
- Port kann über Umgebungsvariable `PORT` geändert werden
|
||||
Reference in New Issue
Block a user