ESP32-S3 Bench Guide
ESP32-S3 N16R8 bench guide: live pinout, lessons, simulators and the bench log.
Erstelle und hoste Quizze sowie speichere deine Punkte mit einem Konto
Translation pending
AI summary · website content
EducationHTML · JavaScriptGitHub @nico-seicheOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
No updates detected yet. GitHub releases will appear here.
The maker's introduction consists of the line above. Read the repository README for more details. Repository README ↗
Loading the full README.
Read the full README ↗Quiz-Plattform für den Studienkurs: Quiz erstellen und live zusammen spielen – ein Host zeigt Fragen, QR-Code und PIN auf dem großen Bildschirm, alle anderen spielen am Handy mit.
Browser ──HTTP──▶ Vercel (statische Seiten + Express-API als Serverless-Funktion)
▲ │
│ ▼
└──Realtime-Signal── Supabase (Postgres + Realtime)
public/ aus und betreibt die API (api/index.js → src/app.js).quiz, nicht über die Supabase-REST-API erreichbar; die API verbindet sich mit der eigenen Rolle quiz_app).update-Signal in den Kanal game:<PIN>. Host und Spieler laden daraufhin ihren Stand über die API neu. Ohne Realtime fragen die Seiten alle 2 Sekunden nach (Polling).Voraussetzung: Node.js 22+ und eine Postgres-Datenbank.
npm install
psql "$ADMIN_DB_URL" -f supabase/migrations/001_init.sql -f supabase/migrations/002_app_role.sql
psql "$ADMIN_DB_URL" -c "ALTER ROLE quiz_app PASSWORD 'local'"
cp .env.example .env # DATABASE_URL eintragen
npm run dev # http://localhost:3000
Ohne SUPABASE_URL/SUPABASE_PUBLISHABLE_KEY läuft alles per Polling.
supabase/migrations/ im Supabase-Projekt ausführen und ein Passwort für quiz_app setzen.DATABASE_URL – Pooler-Verbindung (Transaction Mode, Port 6543) mit Benutzer quiz_app.<projekt-ref>SUPABASE_URL – z. B. https://<projekt-ref>.supabase.coSUPABASE_PUBLISHABLE_KEY – Publishable Key des Projekts (öffentlich, nicht geheim)master wird automatisch deployt. /api/health prüft die Datenbankverbindung./) – nur zum Erstellen/Hosten und Punktesammeln nötig/dashboard: PIN eingeben, Kennzahlen, zuletzt gespielt), Quiz (/quizzes: eigene Quiz verwalten und starten), Bestenliste (/leaderboard) und Profil (/profile: Statistik, Erfolge, Ergebnisse, Abmelden). Sie steht nicht im Editor und nicht im Spiel selbst (Host-Bildschirm, Handy-Ansicht)./edit): Titel, Fach, Fragen mit 2–4 Antworten, richtige Antwort, Zeitlimit/host?pin=…) mit QR-Code, PIN und Teilnehmerliste/play) – als Gast mit Namen oder eingeloggt mit ihrem Nutzernamenapi/index.js Einstiegspunkt für Vercel
server.js Lokaler Entwicklungsserver (API + statische Seiten)
src/app.js Express-App mit allen API-Routen
src/db.js Postgres-Verbindung
src/auth.js Registrierung, Login, Sessions (httpOnly-Cookie, bcrypt)
src/quizzes.js Quiz erstellen/bearbeiten/löschen
src/game.js Live-Spiele: PIN, QR-Code, Spielablauf, Gäste, Punkte
src/config.js Spielregeln (Mindestteilnehmer für die Wertung)
src/achievements.js Erfolge: Definitionen, Vergabe am Spielende, API
src/leaderboard.js Bestenliste (gesamt und je Fach)
src/results.js Statistik und gespeicherte Ergebnisse eingeloggter Spieler
public/ Frontend (reines HTML/CSS/JS, kein Build-Schritt); js/common.js enthält u. a. die Navigation
supabase/ Datenbank-Migrationen
Die Oberfläche folgt einem weichen Verlaufs-Design mit runden Karten, Level-Anzeige und bunter Navigation. Hinter den Home-Kacheln stehen echte Daten:
POINTS_PER_LEVEL in src/config.js).Jeder Nutzer hat eine eindeutige fünfstellige ID (quiz.users.friend_code, 10000–99999, angezeigt als #12345; bei der Registrierung zufällig vergeben, Bestandsnutzer wurden per Migration 013_friends.sql nachträglich versorgt). Unter Profil → Freunde (/friends) sucht man Spieler nach Namen (Teilstück) oder ID (Anfang); Treffer erscheinen beim Tippen als Vorschläge (GET /api/friends/search). Eine Anfrage wird erst mit „Annehmen“ zur Freundschaft; hat die Person schon angefragt, entsteht die Freundschaft sofort. Offene Anfragen zeigt ein roter Zähler am Profil-Symbol der Navigation. Interagieren kann man mit Freunden bisher nur, indem man sie im Quiz-Editor zum gemeinsamen Bearbeiten einlädt – dort werden Freunde beim Tippen vorgeschlagen, und nur Freunde lassen sich einladen (Tabelle quiz.friendships).
This is the beginning of the README. Read the rest at the original. Read the full README ↗