Files
shape3d.it/README.md
2026-01-24 01:42:46 +01:00

2.8 KiB

shape3d

Kurzbeschreibung Diese App zeigt eine 3D-Druck-Materialmatrix: Welche Materialien laufen auf welchen Druckern, inkl. Eigenschaften, Anforderungen und Sicherheits-/Emissionsindikatoren. Die Oberfläche lädt Daten per API und rendert sie als Tabelle mit optionalem Drucker-Vergleich.

Was wird angezeigt

  • Materialliste mit Metadaten (z. B. Eigenschaften, Tg, Düsen-/Plattenanforderung, Anwendung, Kinder-Sicherheit, Emission).
  • Pro ausgewähltem Drucker eine Kompatibilitäts-Spalte (voll/teilweise/mit Zusatz/nicht unterstützt).
  • Auswahl: Einzelansicht (ein Drucker) oder Vergleich (mehrere Drucker).

Datenquellen (flexibel gehalten) Die App ist so aufgebaut, dass UI und Datenzugriff getrennt sind. Je nach Reimport/Neustrukturierung können Dateinamen und Pfade abweichen, solange die folgenden Rollen weiterhin existieren:

  • Einstiegspunkt (z. B. public/index.php): Lädt eine Seite/Ansicht, die das Layout und die Matrix enthält.
  • Matrix-Ansicht (z. B. partials/landing/main/material-matrix.php): Enthält das Markup + JS, das die Daten lädt und die Tabelle rendert.
  • API-Endpoints (z. B. /api/* über das Routing): Stellen JSON bereit für
    • Drucker-Liste
    • Material-Liste
    • Drucker-spezifische Material-Kompatibilität
  • DB-Zugriff (z. B. src/App/Database.php): Baut eine DB-Verbindung und wird von den API-Endpunkten genutzt.

Aktuelle DB-Struktur (Schema-Orientierung) Das Schema besteht aus drei Kern-Tabellen, die für die Materialmatrix benötigt werden:

  1. materials
  • Stammdaten der Materialien (Code/Name/Short-Desc, Eigenschaften, Tg, Anforderungen, Anwendung).
  • Flags für Kinder-Sicherheit und Emission.
  • is_active steuert Sichtbarkeit.
  1. printers
  • Stammdaten der Drucker (Name/Brand/Modell, Temperaturgrenzen, Bauvolumen, Notes).
  • is_active steuert Sichtbarkeit.
  1. printer_material_support
  • Zuordnung Drucker ↔ Material (M:N).
  • support_level beschreibt die Kompatibilität.
  • partial_reason / extra_info liefern Detailhinweise.

Datenfluss (funktional)

  1. UI lädt die Druckerliste.
  2. Für den gewählten Drucker (oder mehrere) werden Materialien inkl. Support-Level geladen.
  3. Die Tabelle rendert Materialinfos und pro Drucker eine Support-Badge-Zelle.

Hinweise für Reimport/Neuaufbau

  • Die Datei-/Ordnernamen dürfen sich ändern, solange die Rollen (UI, API, DB-Zugriff) abgebildet sind.
  • Die API muss weiterhin JSON liefern, das die Matrix-Ansicht erwarten kann:
    • printer: Drucker-Datensatz
    • materials: Liste der Materialien mit optionalem support_level + Zusatzinfos.
  • Die Datenbank kann migriert werden, solange Material-, Drucker- und Zuordnungsdaten semantisch erhalten bleiben.
  • Für DB-Zugriff muss APP_DB_ENABLED aktiviert sein; die Zugangsdaten sollten per ENV-Variablen kommen.

Sicherheit

  • Zugangsdaten sollten nicht im Repo liegen. Nutze ENV-Variablen oder separate Configs pro Environment.