3D-Druck-Tagebuch

Next.js, React, Tailwind CSS, Node.js, Puppeteer, Raspberry Pi, Supabase

Main project image

Ein interaktives Tagebuch für 3D-Druck-Projekte mit automatisiertem Scraping von MakerWorld-Daten.

Projekt ansehen ↗

Table of Contents


Überblick

Das 3D-Druck-Tagebuch ist eine Webanwendung, die es ermöglicht, 3D-Druck-Projekte effizient zu dokumentieren und zu verwalten. Ein zentrales Feature ist die Automatisierung der Datenerfassung: Durch die Eingabe einer MakerWorld-URL werden automatisch alle relevanten Informationen wie Modellbild, Titel, Druckzeit und Filamentverbrauch extrahiert.

Das Projekt verbindet ein modernes Frontend mit einem selbst gehosteten Backend auf einem Raspberry Pi, um volle Kontrolle über die Daten und Scraping-Prozesse zu behalten.

Live Demo

Du kannst die Anwendung gerne mit dem Demo-Account ausprobieren:

Kernfunktionen


Backend + Hosting

Das Backend ist eine Node.js-Anwendung, die für den Betrieb auf einem Raspberry Pi optimiert ist.

Technologie-Stack

Hosting & Tunneling

Der Server läuft lokal im Heimnetzwerk auf einem Raspberry Pi. Um den Zugriff von außen zu ermöglichen, wird ngrok verwendet:

Hardware-Optimierung

Das Backend erkennt automatisch, ob es auf Linux/ARM (Raspberry Pi) läuft, und nutzt die installierte Chromium-Instanz (/usr/bin/chromium-browser), um die Performance zu optimieren und Ressourcen zu schonen (headless, no-sandbox, disable-gpu).


Frontend

Das Frontend ist ein modernes Dashboard, entwickelt mit Next.js 16 und React 19.

Tech Stack

Projektübersicht

Das Dashboard bietet eine klare Übersicht über alle Druckprojekte. Nutzer können neue Projekte hinzufügen, indem sie einfach die URL eines Modells eingeben. Das System übernimmt den Rest.

Features

Projektstruktur

3d-druck-tagebuch/
├── backend/
│   ├── index.js                 # Express Server & API Routes
│   ├── scraper.js               # Puppeteer/Cheerio Logik
│   ├── ecosystem.config.js      # PM2 Konfiguration
│   └── package.json
├── frontend/
│   ├── app/                     # Next.js App Router
│   │   ├── dashboard/           # Hauptansicht
│   │   ├── api/                 # Next.js API Routes (Proxy)
│   │   ├── layout.tsx           # Globales Layout
│   │   └── page.tsx             # Landing Page
│   ├── components/              # UI Komponenten
│   │   ├── ui/                  # Shadcn/Radix Komponenten
│   │   └── ...
│   ├── lib/                     # Utilities
│   └── public/                  # Statische Assets

Einblicke

Drucker-Import
Filament-Tracking
Projekt-Tagebuch

Drucker-Import

Leichter Drucker-Import

Fügen Sie neue 3D-Drucker mühelos hinzu.