Das Problem
Print Factory ist eine Druckerei in Cosenza in Süditalien, die Textilien für Laufkundschaft, Onlinekunden und Partnergeschäfte bedruckt. Aufträge kamen aus vielen Richtungen, und Laden, Produktion und Partner mussten alle mit denselben Daten arbeiten.
Was ich gebaut habe
Ich habe eine eigene PHP-Plattform gebaut: öffentliche Website, Onlineshop, Verwaltungsbereich und eine API für Partner.
- Bestell-API für Partner – externe Shops, als erster InCattedra, schicken Bestellungen mit einem eigenen Schlüssel. Jeder Partner hat eine Sandbox, ein Anfragelimit und eine IP-Allowlist und sieht nur seine eigenen Bestellungen; eine doppelt gesendete Bestellung wird nicht dupliziert.
- Signierte Status-Webhooks – jede Statusänderung geht an den Partner zurück, signiert mit HMAC-SHA256, und wird bei fehlgeschlagener Zustellung nach 1 s, 5 s, 30 s, 5 min und 30 min erneut versucht.
- Online-Designer – Kunden wählen Kleidungsstück, Farbe und Größe, laden ein Motiv hoch oder öffnen ein gespeichertes Projekt aus ihrem persönlichen Grafikbereich.
- KI-Bildstudio – Werkzeuge zum Erstellen und Bearbeiten von Bildern mit Modellen von OpenAI und Replicate, privat im Konto des Kunden.
- Bildschirm für die Produktion – eine Tablet-Ansicht, die jeden Arbeitsschritt jeder Maschine auflistet, gekennzeichnet nach Abteilung, Dringlichkeit und Person, damit das Team sieht, was als Nächstes ansteht.
- Aufträge und Kasse – Aufträge mit Zeitachse und PDF-Laufzetteln, und eine Kasse mit PayPal, Überweisung oder Nachnahme.
- Lizenzberichte – Partner, deren Designs Print Factory verkauft, erhalten einen privaten Link mit ihren Verkäufen und Lizenzgebühren, ohne Kundendaten.
Womit es gebaut ist
PHP 8.3, von Grund auf neu geschrieben, auf Apache, eine Cron-gesteuerte Warteschlange für Partnerbestellungen und E-Mails sowie die APIs von OpenAI, Anthropic und Replicate.
Warum so gebaut
Der DTF-Druck braucht einen echten transparenten Hintergrund. Ein PNG, das nur freigestellt aussieht, aber auf Weiß reduziert wurde, druckt sich auf einem dunklen Shirt als blasses Rechteck. Deshalb prüft die Plattform jede Datei, entfernt den hellen Saum an den Rändern und zeigt das Motiv vor dem Druck auf der echten Farbe des Kleidungsstücks.


