GraphQL - Hackathon 2022

Bei geOps erforschen die Entwickler ständig die neuesten Technologien, um sicherzustellen, dass die Anwendungen die modernsten Webtechnologiestandards verwenden. Daher ist es selbstverständlich, dass GraphQL ein häufiges Thema bei der Entwicklung ist. GraphQL ist eine leistungsstarke API-Abfragesprache, die sich in den letzten Jahren einen Ruf als flexible und funktionsreiche Alternative zu RESTful APIs erworben hat. Dies hat geOps dazu bewogen, sie in neuen Projekten einzusetzen und ihr volles Potenzial zu erkunden.

In 2022 beschlossen Mitglieder des geOps-Entwicklerteams, ein internes, gemeinsames Coding-Event zu organisieren. Ziel war es, die Möglichkeiten, Tools und Bibliotheken rund um GraphQL zu entdecken und sie in bestehenden geOps-Projekten anzuwenden, indem bestimmte Komponenten überarbeitet wurden. So wurde der GraphQL-Hackathon ins Leben gerufen.

Ein Team von sieben Entwicklern nahm daran teil, darunter Backend- und Frontend-Ingenieure. Als Zeitrahmen für den Hackathon war ein ganzer Tag vorgesehen. Die Veranstaltung begann damit, dass die Hauptmotivatoren einen kurzen Einblick in die Kernprinzipien von GraphQL gaben, wie die Abfragesprache funktioniert und welche Vorteile sich aus ihrer Verwendung ergeben. Anschließend diskutierte das Team, welche Komponente aus welchem Projekt in Anbetracht des begrenzten Zeitrahmens mit GraphQL umgesetzt werden könnte. Man kam zu dem Schluss, dass die von geOps entwickelte Live-Map der S-Bahn München ein geeignetes Projekt zum Experimentieren wäre, da sie sowohl Standard-Datenabfragen als auch Echtzeit-Daten-Subscriptions erfordert, die in vielen geOps-Projekten wesentlich sind. Das Team begann mit der Entwicklung einer Abfahrtstafel für eine Station, einschließlich Backend und Frontend.

Auf der Grundlage eines begrenzten Funktionsumfangs wurde ein minimales GraphQL-Schema definiert, das dem Frontend- und dem Backend-Team eine gemeinsame Grundlage für die parallele Arbeit bot. Das Backend-Team konzentrierte sich darauf, die Strawberry-Bibliothek kennenzulernen und mit unserer bestehenden Stationsfinder-API und Echtzeit-Datenbank loszulegen. Mittags stand dem Frontend-Team bereits ein Prototyp zur Verfügung. In der Zwischenzeit beschloss das Frontend-Team, verschiedene GraphQL-Browser-Bibliotheken auszuprobieren, wobei der Schwerpunkt auf der Unterstützung von GraphQL-Subscriptions lag. Die Ergebnisse waren gemischt und werden wertvolle Erkenntnisse für weitere Bemühungen im GraphQL-Frontend-Bereich liefern. Am Ende hatten wir zwei verschiedene Prototypen, die eine einfache Benutzeroberfläche implementierten, um Bahnhöfe zu finden und Echtzeitinformationen über ankommende und abfahrende Züge anzuzeigen.

Das gesamte Team war begeistert von den Vorteilen und Möglichkeiten, die GraphQL zu bieten hat. Die schnellen Fortschritte des Backend-Teams waren besonders vielversprechend und alle freuten sich auf einen Folge-Hackathon.

geschrieben von Friedjoff Trautwein & Daniel Marsh-Hunn | 30.1.2023
Mehr zum Thema
9 min Lesezeit | Blog

Snapping stops to vehicle trajectories

How to snap points to a line string in a given order and what it has to do with quality assurance when importing public transport schedules.

weiterlesen
7 min Lesezeit | Blog

Using Redis Subscriptions efficiently in Python

Inspired by the websockets broadcast feature we built a subscription multiplexer for redis subscriptions to subscribe to Redis channels and patterns once for all relevant clients.

weiterlesen
6 min Lesezeit | Blog

Webkarten als PDF exportieren und drucken

Schon seit einiger Zeit bieten einige unserer Apps den Export unserer Karten im PDF-Format. Dieser Artikel stellt unsere Lösungen für diverse Neuerungen dieser Funktion vor.

weiterlesen
3 min Lesezeit | Blog

beyond tellerrand 2023

Am 11. September 2023 machten sich Mitglieder des Frontend-Teams von geOps auf den Weg nach Berlin, um an einer sehr interessanten und außergewöhnlichen Veranstaltung teilzunehmen: die beyond tellerrand Konferenz.

weiterlesen
3 min Lesezeit | Blog

React 18 Unterstützung für create-react-web-component

Wir wollen fünf Jahre alte Abhängigkeiten des Projekts trafimage-maps aktualisieren. Aber es scheint, dass eine Projektabhängigkeit veraltet ist. Was sollen wir tun? Das Projekt reparieren oder etwas anderes verwenden? Wir haben uns entschieden, das Projekt zu reparieren und der Gemeinschaft etwas zurückzugeben.

weiterlesen
8 min Lesezeit | Blog

Hinzufügen von Typ-Hinweisen zu vorhandenem Code in Python

Der Python-Interpreter behandelt Typen auf dynamische und flexible Weise ohne Einschränkungen bezüglich des Objekttyps, dem eine Variable zugewiesen ist. Seit Python 3.5 haben Programmierer die Möglichkeit, Typ-Annotationen in ihren Code einzufügen. Wir zeigen, wie man das macht.

weiterlesen

Kontakt

geOps AG
Solothurnerstrasse 235
CH-4600 Olten

fon: +41 61 588 05 05
mail: info@geops.ch
geOps GmbH
Bismarckallee 10
D-79098 Freiburg im Breisgau

fon: +49 761 458 925 0
mail: info@geops.de
Impressum | Datenschutz | Bedingungen