← Portfolio

Fullstack · Automatisierung · Headless Browser

Digi4School PDF Downloader

Mich hat immer das Interface zum lernen und nutze der Ebooks von Digi4School genervt also habe ich dieses Tool entwickelt. Der Digi4School Downloader ist ein automatisiertes Web-Tool, das digitale Schulbücher extrahiert, als hochauflösende PDFs auf dem Server speichert und diese bereitstellt.

Im Hintergrund startet der Server eine isolierte Browser-Instanz via Puppeteer, loggt sich vollautomatisch ein und führt den Extraktionsprozess aus. Man kann es als Backup-Tool für die eigenen Schulbücher sehen.

Digi4School PDF Downloader
ArchitekturAuslagerung in Child Processes zur Entlastung des Node Main-Loops
AutomatisierungVollautomatischer Login & Navigation via Headless Browser
ExtraktionParalleler, asynchroner HTTP-Download aller Einzelinhalte
KompilierungZusammenfügen der Ressourcen zu einem optimierten PDF

Um den Node.js Main-Loop während der ressourcenintensiven Rendering- und Scraping-Prozesse nicht zu blockieren, wurde die gesamte Automatisierungs-Logik in Child-Prozesse ausgelagert. Über ein interaktives Web-Dashboard können Buch-IDs übergeben werden. Das Backend kommuniziert über IPC (Inter-Process Communication) mit den gestarteten Prozessen, um den aktuellen Fortschritt in Echtzeit an die Benutzeroberfläche zu senden, während die PDF-Engine die Seiten im Dateisystem zusammensetzt.

Eingesetzte Tools

GitNode.jsPuppeteerChild Processes (IPC)HTMLCSSPDF-LibExpress
Yannick Schneider, UX/UI Designer und Web Developer in Wien

Über mich

Yannick
Schneider

Ich bin sehr webbegeistert — sobald mich etwas interessiert, informiere ich mich darüber. Neugierig geworden?