Skip to content
georgernstgrafPublic

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

Repository files navigation

opentdb

Ein lokaler Sync-Client für die Open Trivia Database (opentdb.com) API.

Dieses Tool lädt alle Quiz-Fragen aus der Open Trivia DB in eine lokale SQLite-Datenbank, sodass sie offline verfügbar sind — nützlich für Lehrer, die Quizze erstellen wollen, ohne bei jeder Anfrage auf die API angewiesen zu sein.

Ursprünglich ein Projekt aus dem Unterricht, das ich dann fertig geschrieben habe.

Tech Stack

  • Deno / TypeScript
  • Prisma ORM (mit SQLite)
  • Fetch API mit solidem Error Handling (die opentdb API hat interessante Constraints)
  • he – HTML-Entity-Dekodierung für API-Rückgaben

Voraussetzungen

  • Deno installiert
  • Ein .env-File (siehe Beispiel unten)

Setup

# Repository klonen
git clone https://github.com/georgernstgraf/opentdb.git
cd opentdb

# Prisma Client generieren
deno task prisma:generate

# Migration ausführen (SQLite-DB wird angelegt)
deno task prisma:migrate_dev

# Datenbank befüllen (Fragen aus der API abrufen)
deno task prisma:seed

.env-Konfiguration

Variable Beschreibung Beispiel
DATABASE_URL Pfad zur SQLite-DB file:./dev.db

Verfügbare Tasks

Task Beschreibung
prisma:generate Prisma Client generieren
prisma:migrate_dev Migration für Entwicklung ausführen
prisma:deploy Migration für Produktion ausführen
prisma:seed Datenbank mit Fragen befüllen
prisma:studio Prisma Studio (DB-UI) starten
prisma:validate Prisma Schema validieren

API Response Codes

Die Open Trivia DB verwendet numerische Response-Codes:

Code Bedeutung
0 Success — Ergebnisse erfolgreich zurückgegeben
1 No Results — Keine Fragen für die Anfrage gefunden
2 Invalid Parameter — Ungültige Parameter übergeben
3 Token Not Found — Session-Token existiert nicht
4 Token Empty — Alle Fragen für dieses Token bereits abgerufen
5 Rate Limit — Maximal 1 Anfrage pro 5 Sekunden pro IP

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages