Was ist tempblade?
tempblade ist aktuell ein Shop für Online-Branding. Ziel ist es, eine Plattform für Motion Designer/3D Artists zu schaffen, auf der sie ihre Designs einfach verkaufen können, erstellt mit den Programmen und Tools, die sie bereits verwenden. Der Shop ist durch seine Architektur auch so aufgebaut, dass beispielsweise eine Konsolen-App denkbar wäre, in der Streamer sich ihre Designs erstellen/personalisieren können. Aktuell sind die meisten Produkte Intros, geplant ist aber ein breites Portfolio an Stream Overlays, Animationen, Outros, Bannern und viel mehr.
Architektur
API First Design
Alle Kernfunktionalitäten sind von einer tRPC API abgebildet, sodass möglichst flexibler Multi-Channel-Verkauf möglich ist.
Die API besteht aus einem zentralen "Core"-Server und aktuell einem "Worker". Durch diese Aufteilung ist später eine einfache Skalierung möglich, da quasi unbegrenzt viele "Worker" dazugeschaltet werden können, die parallel eine Warteschlange abarbeiten.
Web
Aktuell ist der einzige Weg, um eine Bestellung zu tätigen, der Web-Shop. Diesen habe ich mit Next.js umgesetzt, was es mir erlaubte, überall wo möglich Daten vorzuladen und nur wo nötig auf clientseitigen Code zu setzen. Der Vorteil ist, dass so die API-Anfragen auf ein Minimum beschränkt werden können und das meiste über ein CDN abgefertigt werden kann, was die Skalierung deutlich vereinfacht. Alles in allem war ich bisher sehr zufrieden mit der Entwicklungserfahrung und hoffe auch weiter auf dieses Framework setzen zu können.
Render-Technologie
Zum Rendern der Animationen wird Blender eingesetzt, die Render-Bibliotheken sind aber so strukturiert, dass jederzeit auch andere Programme mit vorzugsweise einer Python-API eingebaut werden können. Es war so beispielsweise auch einfach möglich, eine Houdini-Integration umzusetzen. Außerdem sind sie so strukturiert, dass jederzeit auch die Integration mit einem anderen E-Commerce-System denkbar wäre oder auch in ganz anderen Einsatzzwecken, wie beispielsweise um Prozesse innerhalb einer Agentur zu automatisieren.
Template-Schemas
Die einzelnen Templates werden durch ein Schema abgebildet. Dieses kann entweder für ein Programm sein oder für mehrere mit einer sogenannten "Pipeline". In einer Pipeline kann beispielsweise eine Textanimation in Houdini berechnet werden und die Ausgabedatei wird automatisch in Blender geladen und dann in der vorgegebenen Szene als Bildsequenz gerendert.
Content
Im Rahmen der Entwicklung habe ich auch einige Vorlagen erstellt. Hier ein paar Auszüge: