Auf welchem technischen Stack basiert Ideanote?
Wir nutzen Google Cloud Platform als Infrastruktur-Anbieter. Die Anwendungsebene basiert auf einer Microservice-Architektur mit Kubernetes und lässt sich je nach Auslastung flexibel automatisch skalieren. Unsere statischen Dateien stellen wir über Content Delivery Networks bereit. Von Nutzern hochgeladene Anhänge speichern wir in Google Cloud Storage. Als DBMS verwenden wir PostgreSQL. Außerdem nutzen wir Redis zur Kommunikation zwischen Pods sowie für einfaches Caching.
Wir verwenden TypeScript als bevorzugte Programmiersprache für unsere Backend- und Frontend-Dienste. Beide nutzen gemeinsame Logik und Hilfsfunktionen und sind in einem Monorepository angesiedelt. Für unsere Backend-Dienste, einschließlich unserer API, haben wir eine benutzerdefinierte Serverarchitektur entwickelt, die sowohl eine interne, auf GraphQL basierende API als auch eine REST-API für unsere öffentliche API unterstützt. Wir orientieren uns stark an den Prinzipien der Inversion of Control und haben unsere Backend-Dienste logisch in Subsysteme für ihre API, Geschäftslogik, Speicherschicht und Hilfsdienste unterteilt.
Im Frontend setzen wir sehr moderne Webtechnologien sowie Custom Elements und Shadow DOM als unser Kapselungsmodell ein. Was die Integration unserer Dienste in externe Dienste betrifft, können wir Unternehmenskunden ein Diagramm bereitstellen, das diese Systeme auf hoher Ebene veranschaulicht.