Files
Quizalarm/BASEROW-SETUP.md

150 lines
7.2 KiB
Markdown

# Quizalarm — Baserow Tabellenstruktur
Diese Anleitung beschreibt, wie die benötigten Tabellen in Baserow angelegt werden.
---
## Voraussetzungen
- Baserow erreichbar unter `https://br.orfel.de`
- Ein API-Token erstellt unter: **Settings → API Tokens → Create Token**
- Rechte: mindestens `create`, `read`, `update` für alle relevanten Tabellen
---
## 1. Datenbank anlegen
1. In Baserow einloggen
2. Klicke auf **+ Create database**
3. Name: `Quizalarm`
---
## 2. Antworten-Tabelle anlegen
Diese Tabelle speichert ALLE Ergebnisse (Live + Solo). Es gibt nur eine einzige.
1. In der Datenbank `Quizalarm`**+ Add table** → Name: `Antworten`
2. Lösche die automatisch erstellten Beispiel-Spalten
3. Erstelle folgende Felder:
| Nr. | Feldname | Feldtyp | Optionen / Hinweis |
|-----|---------------|------------------|-------------------------------------|
| 1 | `Nutzername` | Single line text | |
| 2 | `Frage_ID` | Number (Integer) | |
| 3 | `Fragenset` | Single line text | |
| 4 | `Antwort` | Single line text | Enthält z.B. `A,C` oder `Berlin` |
| 5 | `Richtig` | Boolean | |
| 6 | `Punkte` | Number (Integer) | |
| 7 | `Session_ID` | Single line text | z.B. `LIVE-M3K7X` oder `SOLO-K8P2Q` |
| 8 | `Modus` | Single select | Optionen anlegen: `Live`, `Solo` |
| 9 | `Zeitstempel` | Date | ✅ "Include time" aktivieren |
1. **Table-ID notieren**: Klicke auf die Tabelle → die URL enthält `/database/TABLE_ID/...`
---
## 3. Fragenset-Tabellen anlegen
Für jedes Fragenset wird eine eigene Tabelle erstellt. Der Aufbau ist immer identisch.
### Schritt-für-Schritt
1. In der Datenbank `Quizalarm`**+ Add table**
2. Name = Name des Fragensets (z.B. `IT-Grundlagen`, `Erste Hilfe`, `Brandschutz`)
3. Lösche die automatisch erstellten Beispiel-Spalten
4. Erstelle folgende Felder:
| Nr. | Feldname | Feldtyp | Optionen / Hinweis |
|-----|--------------------|------------------|---------------------------------------------------|
| 1 | `Frage` | Long text | Der vollständige Fragetext |
| 2 | `Typ` | Single select | Optionen anlegen: `MultipleChoice`, `SingleChoice`, `Wahr/Falsch`, `Freitext` |
| 3 | `Bild` | File | Optional — Bild zur Frage hochladen |
| 4 | `Antwort A` | Single line text | Bei Wahr/Falsch: `Wahr` |
| 5 | `Antwort B` | Single line text | Bei Wahr/Falsch: `Falsch` |
| 6 | `Antwort C` | Single line text | Leer lassen bei Wahr/Falsch oder 2 Antworten |
| 7 | `Antwort D` | Single line text | Leer lassen bei weniger als 4 Antworten |
| 8 | `Richtige Antwort` | Single line text | Siehe Ausfüllregeln unten |
| 9 | `Kategorie` | Single select | Optional — z.B. `Geografie`, `Technik`, `Recht` |
1. **Table-ID notieren**: URL enthält `/database/TABLE_ID/...`
---
## 4. Ausfüllregeln für "Richtige Antwort"
| Fragetyp | Beispiel-Wert | Erklärung |
|----------------|---------------|------------------------------------------------|
| SingleChoice | `A` | Nur der Buchstabe der richtigen Antwort |
| MultipleChoice | `A,C` | Kommagetrennt, ohne Leerzeichen |
| Wahr/Falsch | `A` | `A` = Wahr, `B` = Falsch |
| Freitext | `Berlin` | Das erwartete Wort (Groß/Kleinschreibung egal) |
### Freitext-Toleranz
Die App normalisiert Eingaben automatisch:
- Groß/Kleinschreibung wird ignoriert
- Sonderzeichen (Bindestriche, Leerzeichen etc.) werden entfernt
- Umlaute werden umgewandelt (ä→ae, ö→oe, ü→ue, ß→ss)
**Beispiel:** Richtige Antwort = `Villingen-Schwenningen`
-`villingen schwenningen`
-`villingenschwenningen`
-`Villingen Schwenningen`
-`Villingen` (unvollständig)
-`Stuttgart` (falsch)
---
## 5. Beispielfragen
### SingleChoice mit 4 Antworten
| Frage | Typ | Antwort A | Antwort B | Antwort C | Antwort D | Richtige Antwort | Kategorie |
|-------------------------------------------------|--------------|-----------|-----------|-----------|-----------|------------------|-----------|
| Wie heißt die Hauptstadt von Baden-Württemberg? | SingleChoice | Stuttgart | Karlsruhe | Freiburg | Mannheim | A | Geografie |
### MultipleChoice mit mehreren richtigen Antworten
| Frage | Typ | Antwort A | Antwort B | Antwort C | Antwort D | Richtige Antwort | Kategorie |
|----------------------------------|----------------|-----------|-----------|-----------|-----------|------------------|-----------|
| Welche sind Programmiersprachen? | MultipleChoice | Python | HTML | Java | Photoshop | A,C | IT |
### SingleChoice mit 3 Antworten
| Frage | Typ | Antwort A | Antwort B | Antwort C | Antwort D | Richtige Antwort | Kategorie |
|-----------------------------------|--------------|-----------|-----------|-----------|-----------|------------------|-----------|
| Welche Farbe hat ein Stoppschild? | SingleChoice | Rot | Blau | Grün | *(leer)* | A | Verkehr |
### Wahr/Falsch
| Frage | Typ | Antwort A | Antwort B | Antwort C | Antwort D | Richtige Antwort | Kategorie |
|----------------------------|-------------|-----------|-----------|-----------|-----------|------------------|-----------|
| Die Erde ist eine Scheibe. | Wahr/Falsch | Wahr | Falsch | *(leer)* | *(leer)* | B | Allgemein |
### Freitext
| Frage | Typ | Antwort A | Antwort B | Antwort C | Antwort D | Richtige Antwort | Kategorie |
|------------------------------------------|----------|-----------|-----------|-----------|-----------|------------------|-----------|
| Wie heißt die Hauptstadt von Frankreich? | Freitext | *(leer)* | *(leer)* | *(leer)* | *(leer)* | Paris | Geografie |
### Mit Bild
| Frage | Typ | Bild | Antwort A | Antwort B | Antwort C | Antwort D | Richtige Antwort | Kategorie |
|-----------------------------------|--------------|--------------------|-----------|-----------|---------------|------------|------------------|-----------|
| Was zeigt dieses Verkehrszeichen? | SingleChoice | *(Bild hochladen)* | Vorfahrt | Stopp | Einbahnstraße | Parkverbot | B | Verkehr |
---
## 6. Checkliste
- [ ] Datenbank `Quizalarm` angelegt
- [ ] Tabelle `Antworten` mit allen 9 Feldern erstellt
- [ ] Mindestens 1 Fragenset-Tabelle mit allen 9 Feldern erstellt
- [ ] Testfragen eingetragen
- [ ] API-Token erstellt (Settings → API Tokens)
- [ ] Alle Table-IDs notiert
- [ ] Table-IDs im Admin-Panel unter `https://quizalarm.orfel.de/admin` hinterlegt