Das GRAND-Dilemma

Eine Anleitung zum Einrichten des GRAND-Stacks mit Typescript.

Hintergrund

Ich wagte es, mit Neo4J und GraphQL einen Social-Media- Grapher zu bauen . Zu diesem Zeitpunkt bin ich auf den GRAND- Stack gestoßen . Der Einstieg in Neo4J war recht einfach, aber Neo4j mit React, GraphQL und Typescript zum Laufen zu bringen, war eine andere Geschichte.

Ich hoffe, dieser Artikel hilft denjenigen, die sich für den GRAND- Stack interessieren , und erleichtert den Einrichtungsprozess ein wenig. Ich habe ein voll funktionsfähiges Projekt auf meinem Github ( hier ), das Sie gerne als Referenz ansehen können.

Technologien

  1. GraphQL + Apollo
  2. Express JS
  3. Reagiere JS
  4. Neo4j
  5. Neovis (neo4J Client Visualizer)
  6. Typoskript
  7. Webpack

Der schwierigste Teil beim Einrichten des Servers war die eingeschränkte Dokumentation zur Verwendung von GRAND mit Typescript. Besonders die Web-Pack-Einstellungen. Dies sind meine endgültigen Einstellungen:

webpack.config.js

Wie Sie sehen können, habe ich einige Umgebungsvariablen, die ich im Frontend für Neo4J verwende. Sie benötigen außerdem eine tsconfig-Datei.

tsconfig.json

Die obigen Einstellungen sind eine Kombination aus Versuch und Irrtum und verwenden das, was andere Leute in der Vergangenheit getan haben, aber sie decken alle Grundlagen ab.

Serverkonfiguration

Für meinen Server habe ich Apollo Server, GraphQL, Express und Neo4J Treiber verwendet. Es gibt unzählige Tutorials zum Einrichten von GraphQL mit Neo4j, aber ich fand zwei Bibliotheken am nützlichsten.

  1. neo4j-graphql-js
  2. Apollo-Server-Express
GraphQL-Schema

Durch die Definition meines Schemas hatte ich Zugriff auf Abfragen und Mutationen wie:

  1. Benutzer abrufen
  2. Tweets holen
  3. Benutzer zu Tweets hinzufügen
  4. Fügen Sie Benutzern einen Tweet hinzu
  5. Holen Sie sich Benutzer-Tweets

Reagieren

Wir haben das G, das A und das ND (Neo4J Database ) von GRAND behandelt, aber wir können das R nicht vergessen. Das ist schließlich alles, was für unsere Benutzer wichtig ist. Um mein Neo4j-Backend zu visualisieren, habe ich eine Bibliothek namens Neovis verwendet, die natürlich nicht für die Verwendung mit React optimiert wurde.

Aber bevor ich etwas zeigen konnte, musste ich einige Daten erstellen. Ich habe ein einfaches Formular erstellt, in das ein Benutzer seinen Namen eingeben kann, sowie einen Tweet. Ich würde dann eine Mutation machen, die diese Daten in meiner Neo4j-Datenbank speichert.

Social Grapher UI

Aufgrund dieser ' magischen ' Methoden, die von unserer Backend-Bibliothek erstellt wurden, können wir problemlos Benutzer und Tweets erstellen und einander zuweisen. Hier ist ein Beispiel für eine Mutation, mit der ich einen neuen Tweet erstellt und einem Benutzer zugewiesen habe.

neue Tweet-Mutation

Sowohl CreateTweet als auch AddUserTweets wurden von unseren Neo4j-GraphQL-Bibliotheken für mich automatisch generiert.

Zusammenfassung

Die größte Herausforderung bestand darin, all dies einzurichten UND Typescript damit zu verwenden. Ich liebe den Stack und hoffe, ihn in Zukunft wieder zu verwenden. Das Potenzial ist immens, selbst für ein kleines Projekt wie das meine, ich kann mir keinen anderen Stack vorstellen, der Graphendatenbanken und Abfragen so gut kombiniert wie der GRAND- Stack.

Neo4j-Visualisierung in React

Wie ich bereits erwähnt habe, habe ich ein voll funktionsfähiges Beispiel für meinen Github. Vielen Dank für das Lesen und viel Spaß beim Codieren!

Suggested posts

Die verheerenden Folgen eines Schlaganfalls vermeiden: Aus der Reise einer Familie lernen.

Die verheerenden Folgen eines Schlaganfalls vermeiden: Aus der Reise einer Familie lernen.

Einleitung Ein Schlaganfall ist ein medizinischer Notfall, der jeden jederzeit treffen kann. Sie tritt auf, wenn die Durchblutung eines Teils des Gehirns gestört ist, was zu einem plötzlichen Verlust der Gehirnfunktion führt.

Jest – Ein leistungsstarkes JavaScript-Test-Framework

Jest – Ein leistungsstarkes JavaScript-Test-Framework

Testen ist ein wesentlicher Bestandteil der Softwareentwicklung. Dadurch wird sichergestellt, dass der Code zuverlässig ist, wie erwartet funktioniert und die Fehlerwahrscheinlichkeit verringert wird.

Related posts

3 bewährte Möglichkeiten, Ihre Schreibfähigkeiten zu verbessern

Die Vorteile des Schreibens und Strategien, die Ihnen dabei helfen

3 bewährte Möglichkeiten, Ihre Schreibfähigkeiten zu verbessern

Im Jahr 2022, mit der Veröffentlichung von GPT-3, scheinen Schreibfähigkeiten an Bedeutung zu verlieren. Mit KI können auch Menschen mit schlechten Schreibkenntnissen hochwertiges Personal hervorbringen.

Die Cowboy-Lüge

Wie Megakonzerne den Amerikanern eine fette Lüge verkauften

Die Cowboy-Lüge

Es ist ein strahlend goldener Morgen in den sanften Hügeln des Westens, während die ersten Sonnenstrahlen das gefrorene Gras auf den Ebenen erhellen. Eine Herde friedlicher Angus-Rinder, pechschwarz und massig, zeichnet sich vor dem Sonnenaufgang ab, während sie einen ausgetretenen Pfad entlang zu einem Ort geht, den sie alle gut kennen; die Frühstücksbar.

Was macht einen Podcast einflussreich?

Was macht einen Podcast einflussreich?

Letzte Woche fiel mir eine Pressemitteilung auf, die über PressGazette (eine britische Nachrichten-Website für Medien) verschickt wurde. In dem Artikel wurde angekündigt, dass Acast, das skandinavische Podcast-Hosting- und Werbeunternehmen, ein Konsortium der „wahrscheinlich einflussreichsten“ Verlage im Podcasting leiten werde.

Die Verfolgung von Christen: Das Hassverbrechen, über das wir nicht sprechen

Vergessen Sie Islamophobie: Christen (und Juden) sind die Hauptopfer religiöser Hassverbrechen.

Die Verfolgung von Christen: Das Hassverbrechen, über das wir nicht sprechen

Jeder rational denkende Mensch weiß, dass die politischen und medialen Kreise von der Linken dominiert werden, sogar von der extremen Linken, ein Zustand, der zu einem Ungleichgewicht im politischen Diskurs führt. Im Bereich der Religion ist dieses Ungleichgewicht deutlich sichtbar: Linke Zeitungen und Netzwerke beeilen sich nicht, den christlichen Glauben zu verteidigen.