ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Quizduell für die Kfz-Prüfingenieur-Ausbildung
Translation pending
EducationJavaScript · PLpgSQLGitHub @Ju574OnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
Owners of public repositories under a personal GitHub account can sign in to verify ownership and manage the introduction themselves. No administrator approval is needed.
Sign in, generate a verification file, and commit it to this repository’s default branch within 30 minutes. Files on other branches or forks do not count. Then check the file below to manage the project without administrator approval. Keep the file to retain your access.
If needed, you will go to sign-in. After signing in, return here and press your chosen verification button again.
Run /nomorevibe verify in your project folder to verify ownership and manage the introduction yourself.
Verify in one minuteAsk about other verification options
Quizduell für die Kfz-Prüfingenieur-Ausbildung: Rundenduell, Live-Battle, Lernmodus, Statistik und Rangliste
Translation pending
Taken from the repository README
Loading the full README.
Read the full README ↗Quizduell für die Kfz-Prüfingenieur-Ausbildung, mit Rundenduell, Live-Battle, Lernmodus, Statistik und Rangliste. Die Seite läuft auf GitHub Pages, die Daten liegen in Supabase.
Die Fragen stehen nicht in diesem Repository. Sie liegen geschützt in der Datenbank und sind nur mit dem Gruppen-Passwort abrufbar. Die richtige Antwort wird erst nach dem Antworten geladen.
| Datei | Inhalt |
|---|---|
index.html, style.css, app.js | Die Webseite |
db.js | Datenbankzugriff (Supabase oder Demo-Modus) |
config.js | Supabase-Adresse und öffentlicher Schlüssel |
supabase.sql | Legt Tabellen und Schutzfunktionen an (mehrfach ausführbar) |
gruppen-passwort.sql | Setzt oder ändert das Gruppen-Passwort |
admin-passwort.sql | Setzt oder ändert das Admin-Passwort |
werkzeuge/karteikarten-zu-fragen.js | Holt Fragen wörtlich aus einer Karteikarten-HTML-Datei in fragen.json |
werkzeuge/fragen-uebernehmen.js | Übernimmt selbst erstellte Fragen (z. B. aus Zusammenfassungen) in fragen.json |
werkzeuge/fragen-importieren.js | Lädt fragen.json direkt in Supabase |
werkzeuge/fragen-zu-sql.js | Macht aus fragen.json ein Import-Skript für den SQL Editor |
quellen/ (Unterlagen), fragen.json und fragen-import.sql sind über .gitignore ausgeschlossen und kommen nie ins Repository.
Im Supabase-Dashboard unter SQL Editor → New query nacheinander ausführen:
supabase.sqlgruppen-passwort.sql und admin-passwort.sql (vorher jeweils das Passwort eintragen)fragen-import.sqlIn config.js stehen die Project URL und der publishable/anon key. Der darf öffentlich sein. Der secret/service_role key gehört niemals hierher.
quellen/ legen.node werkzeuge/karteikarten-zu-fragen.js quellen/<datei>.html quellen/<datei>_falsch.json <Präfix>. Ohne vorhandene _falsch.json wird erst eine Vorlage angelegt, in die je Karte 3 falsche Antworten kommen.fragen.json bearbeiten (Format siehe unten).node werkzeuge/fragen-importieren.js ausführen (optional nur bestimmte Kürzel, z. B. mk- mz-). Das lädt die Fragen direkt in Supabase. Voraussetzung ist der lokale Import-Schlüssel in .import-schluessel; in der Datenbank liegt davon nur ein Hash.
Alternativ: node werkzeuge/fragen-zu-sql.js erzeugt fragen-import.sql für den Supabase SQL Editor.{
"id": "r1-01",
"kategorie": "Recht · Rechtsvorschriften",
"frage": "Wie heißt …?",
"richtig": "Die richtige Antwort",
"falsch": ["Falsch 1", "Falsch 2", "Falsch 3"],
"erklaerung": "Optional: wird nach dem Beantworten angezeigt."
}
id darf sich nie ändern, denn Lernstand und Duelle hängen daran. Texte darf man korrigieren.fragen.json entfernt werden, werden beim nächsten Import deaktiviert, aber nicht gelöscht."typ": "eingabe" plus "alternativen": [ … ] (weitere erlaubte Antworten); falsch entfällt. Groß-/Kleinschreibung, Satzzeichen, ä/ae, ß/ss und Füllwörter wie „ca.“ zählen nicht, kleine Tippfehler sind erlaubt, Zahlen müssen exakt stimmen."bild": "datei.png" erscheint über der Frage, "bild_nach": "datei.png" erst in der Auflösung. Die Dateien liegen lokal in quellen/bilder/ und werden von fragen-importieren.js geschützt in die Datenbank geladen (nur mit Gruppen- oder Admin-Passwort abrufbar)."typ": "beschriften" mit nummerierter Skizze in bild. In richtig steht je Zeile Nr: Begriff (z. B. "1: Heizelement\n2: Isolierteil"). Die App zeigt die Begriffe gemischt, zu jedem tippt man die passende Nummer an; die Frage zählt als richtig, wenn alle Begriffe stimmen. Pro weiterem Begriff gibt es 5 s mehr Zeit.Duelle sind mit 2 oder 3 Spielern möglich. Beim Erstellen wählt man die Runden- bzw. Fragenzahl und die Zeit pro Frage (20 s, 45 s, 90 s oder unbegrenzt).
Die Auswahlmöglichkeiten lassen sich oben in app.js im Block E = { … } ändern. Nach jeder Änderung an CSS/JS die Versionsnummer ?v=… in index.html erhöhen.
python -m http.server 8765 ausführen und http://localhost:8765/?demo öffnen. Mit ?demo läuft ein Demo-Modus im Browser mit der lokalen fragen.json (Gruppen-Passwort demo, Admin-Passwort admin) – die echte Datenbank bleibt unberührt.