Technologie

Wir nutzen neueste Web-Standards für ein einmaliges Erlebnis

CADdrive basiert auf neuesten Web-Standards wie HTML5 und CSS3 sowie TypeScript, eine typisierte Variante von JavaScript, die von Microsoft entwickelt wird. Des Weiteren setzen wir auf funktionale React-Komponenten für die Entwicklung unserer Benutzerschnittstelle. Im Backend verwenden wir Decorator-basierte TypeScript-Frameworks für die REST-API sowie die Datenbankanbindung.

Unser Technologie-Stack

Eine klassische Client-Server-Architektur mit HTTP- und MQTT-Schnittstelle

CADdrive basiert auf einer klassischen Client-Server-Architektur, bei der Client und Server über eine HTTP- und eine MQTT-Schnittstelle mit einander verbunden sind.

Der Client umfasst ein Frontend, das auf den Endgeräten der Nutzer läuft. Durch responsive Gestaltungsprinzipien werden von Smartphone über Tablet und Laptop bis Desktop Workstation alle Bildschirmgrößen unterstützt. Technologisch kommen dafür Web-Standards wie HTML5, CSS3 und JavaScript zum Einsatz. Die 3D-Funktionen werden des Weiteren mittels WebGL realisiert.

Der Server umfasst ein Backend und einen Broker, welche in einer privaten oder einer öffentlichen Cloud betrieben werden. Das Backend ist für die HTTP-, der Broker für die MQTT-Schnittstelle verantwortlich. Schreibende Zugriffe auf die Datenbank werden über das Backend angefordert und umgesetzt, sowie über den Broker an die anderen Clients in Echtzeit übermittelt.

Unser Datenmodell

Verknüpfung der wesentlichen Entitäten in der Produktentwicklung

Unser Datenmodell definiert die wesentlichen Entitäten in der Produktentwicklung und setzt diese zueinander in Beziehung. Die wesentlichen Entitäten umfassen die Nutzer der Plattform, die Produkte, die CAD-Modell-Revisionen, die Aufgaben inklusive deren Diskussionsverlauf, sowie die Meilensteinplanung.

CAD-Modellrevisionen bilden in unserem Datenmodell einen Revisionsgraphen, welcher Branching- und Merging-Vorgänge beinhaltet. Branching bedeutet in diesem Zusammehang, dass aus einer Modellrevision zwei oder mehr unabhängige Folgeversionen abgeleitet werden. Merging beschreibt hingegen den umgekehrten Vorgang der Zusammenführung von Modelländerungen.

Im Rahmen der Diskussion einer Aufgabe können die Nutzer auf die Inhalte einer Modellrevision verweisen. Dies erfolgt durch Verknüpfung mittels entsprechender Markdown-Syntax. Dabei kann auf die einzelnen Bauteile oder gesamte Baugruppen verwiesen werden.