Über Maria Haubner

Maria arbeitet seit 2014 als Full Stack Developer bei Mayflower. In ihrem Arbeitsalltag arbeitet sie mit einem TypeScript- /React- /Postgres- /GraphQL- /Node-Stack, hat aber in der Vergangenheit auch schon PHP-Projekte auf Symnfony-, Drupal- und Joomla-Basis betreut.

PostGraphile Subscriptions

Mit Subscriptions kann man über Events und Änderungen in der Datenbank informiert werden. Ein offensichtlicher Anwendungsfall sind Notifications.

Wenn wir in unserem Code-Beispiel einer Blogging-App (ihr wisst schon, unsere PostGraphile-Serie*) bleiben, könnte man dem User zum Beispiel die Möglichkeit geben, über neue Blogposts informiert zu werden. Oder falls man als Betreiber der App sicherstellen will, dass Spammer nicht einfach posten können, könnte man einbauen, dass Blogposts immer erst freigeschaltet werden müssen. In so einem Fall will man natürlich eine Nachricht bekommen, wenn ein Blogpost freigeschaltet werden will.

Weiterlesen

Unit-Testing in PostgreSQL

Es gibt verschiedene Stellen im Tech-Stack, an denen man seine Businesslogik liegen haben will.

In einem Symfony-Stack hat man beispielsweise eine „dumme“ Datenbank hinter einem ORM, die einfach nur die Daten speichert. Dann hat man ein beliebiges Templating-System im Frontend, dass für die Anzeige verantwortlich ist. Und dazwischen liegt Symfony im Backend und beinhaltet die Businesslogik. In diesem Fall ergibt es Sin, den Symfony-PHP-Code mit Unit-Tests abzudecken, so dass man sicher sein kann, dass da alles läuft.

Mit einem PostgreSQL-GraphQL-TypeScript-Stack braucht man aber dieses Backend nicht mehr. Oder genauer gesagt: Das Backend wandert in die Datenbank.

Weiterlesen

PostgreSQL, GraphQL & PostGraphile – ein Überblick

Wenn man heutzutage eine Software-Applikation bauen will, hat man die Auswahl aus einem bunten Strauß an Technologien. Dabei kann man schnell in Fallen laufen, da nicht alle Technologien gut miteinander arbeiten. Da wird dann plötzlich der Aufwand sehr groß, den Datenfluss durch den Tech-Stack unter Kontrolle zu halten.

Ein Setup, das gut zusammenspielt, bzw. teilweise darauf ausgelegt ist, in diesem Tech-Stack zu leben, ist Folgendes:

  • PostgreSQL für die Datenbank
  • PostGraphile zur Erstellung der API 
  • GraphQL zur Abfrage der API
  • TypeScript im Frontend (z. B. in Verbindung mit React)

Auf die drei Teile PostgreSQL, GraphQL und besonders PostGraphile wollen wir in diesem Artikel – und den folgenden Teilen der Blog-Serie – näher eingehen.

Weiterlesen

Aus dem Projekt: Evaluation von Data Grids

Die Darstellung und Bearbeitung von Daten in einer Web-App lässt sich häufig am besten über Tabellen lösen.

Tabellen sind für die User bekannte Konzepte und in der Regel finden sie sich deswegen schnell zurecht. Doch gleichzeitig haben sie bestimmte Erwartungen, was in Tabellen möglich sein sollte – schließlich bieten Tabellenbearbeitungsprogramme wie Excel oder LibreOffice einen massiven Funktionsumfang.

Und wäre es nicht schön und komfortabel, diese Funktionalitäten auch in einer Web-App zu haben?

Weiterlesen

Big-Bang-Modernisierung – ein Erfahrungsbericht

Will man alten Code modernisieren, stehen viele Möglichkeiten zur Auswahl. Kontinuierlich Teile des Alt-Codes durch neue Module ersetzten, entlang eines Features einen Durchstich durch die Software aktualisieren, und so weiter. Von einer Methode wird jedoch häufig abgeraten: Die sogenannte Big Bang Modernisierung – also ein kompletter Rewrite.

Dabei wird der alte Code nicht mehr angefasst und die gesamte Anwendung von Grund auf neu geschrieben. Diese Methode wird eher in kleinen Projekten eingesetzt, in denen das Feature-Set überschaubar ist.

Ich möchte nun gerne über meine Erfahrungen mit einer Big-Bang-Modernisierung in einem Projekt berichten, bei dem das nicht der Fall war.

Und gleich zu Beginn noch ein Spoiler: Entgegen der Wahrscheinlichkeit war die Modernisierung erfolgreich und die neue Anwendung läuft produktiv.

Weiterlesen

Fluent UI by Microsoft

Vorweg kurz eine Info, um Verwirrung zu vermeiden: Microsoft fasst unter ihrem neuen Fluent UI ihre UI Fabric und Stardust-GitHub-Repos zusammen. Sie wollen damit ein einheitliches Design-System für Web-Apps erstellen. Falls ihr also einen der alten Namen kennt, dann wisst ihr jetzt, was aus ihnen geworden ist.

Weiterlesen

Audit Events in your GraphQL Stack with the postgraphile-audit-plugin

In many projects, one needs to track changes in data in your database. With pgMemento, you can automatically generate audit information like that. It extends your PostgreSQL tables by an audit_id column, which in turn refers to the specific audit event in the pgMemento tables, which are by default stored in a separate database schema.

So far, so good.

Weiterlesen

Three ways to create Word documents with PHPWord

Creating Microsoft Word documents in PHP can be a challenge. Word offers a multitude of options and settings and while creating a document in PHP you want do take advantage of those options to achieve a satisfying result. Perhaps you need to dynamically create documents for a client and the client will only know the capabilities of Mircosoft Word, but not the limitations of PHP libraries. This can result in an unsatisfied client.

In this article we will take a closer look at PHPWord and three different ways to create Word documents with it: basic easy templating, the creation of Word documents from scratch, and (going a little crazy there) the combination of both by merging existing templates with dynamically created documents. Hopefully, after reading through the text, you will have an idea of how to implement the perfect Word creator for your needs.
Weiterlesen