Projekte

Stammbaum

Erfahre mehr über deine Familie und bewahre ihre Geschichten für die Zukunft.

Stammbaum

Digitale Stammbäume gibt es schon einige, doch alle die ich mir angeschaut habe, hatten den gleichen engen Fokus: Sie zeigen nur die Verwandschaftsbeziehungen zwischen den einzelnen Personen.

Was unterscheidet Stammbaum?

Klar zeichnet die Webseite auch den Stammbaum hin und jede Person, für die eine E-Mail Adresse eingetragen wird bekommt eine Einladung, zum Stammbaum beizutragen. Was mir jedoch so wichtig bei dem Projekt war, sind all die Geschichten, die über die Personen in der Familie existieren. Nicht nur die harten Fakten, sondern auch Anekdoten, die man noch über die Leute weiß.

Deswegen kann jeder bei anderen Personen Geschichten mit Markdown und Bild schreiben und damit dazu beitragen, dass diese nicht verloren gehen.

Beispielgeschichte über eine Person in Stammbaum

Herausforderungen

Wie zu erwarten, ist das Layout des Stammbaums selbst die große Herausforderung dieses Projekts. React Flow macht das vom Grundprinzip her relativ einfach, aber wenn der Baum komplex wird kommen auch die ganzen möglichen (noch nicht völlig gelösten) Edge Cases zum Vorschein.

Nehmen wir das Beispiel von Eltern mit drei Kindern. Die Kinder können leicht unter den Eltern angeordnet werden, aber was passiert, wenn diese Kinder wiederum Partner haben? Plötzlich wird aus einem Familienbaum drei einzelne, da natürlich auch die Partner Eltern und andere Verwandte haben. Bei zwei Kindern könnte man die neuen Bäume noch rechts und links des “Stammbaums” platzieren, bei dreien bricht das aber alles in sich zusammen.

Die größte Herausforderung ist aber tatsächlich keine technische: Wie bringe ich meine Familie dazu, zu diesem Stammbaum beizutragen? Vor allem die ältere Generation hat nicht wirklich Lust am Computer zu sitzen ;)

Veröffentlichung

Der ganze Code für Stammbaum liegt auf Github und man kann sich sehr leicht selbst einen Docker Container für den eigenen Stammbaum hosten.

Es ist auch bereits alles dafür ausgelegt, dass das nicht nur auf meine Familie festgelegt ist … allerdings habe ich das Projekt noch nicht öffentlich gemacht. Zuerst will ich noch selbst ein bisschen mehr Erfahrung damit sammeln.

Features

Hier eine Liste von Funktionen, die Stammbaum jetzt schon kann (keine Garantie auf Vollständigkeit):

  • Docker Container für einfache Installation
  • Assistent für den ersten Start, hilft beim Aufsetzen deines eigenen Stammbaums
  • Hinzufügen von Verwandten via Drag & Drop
  • Bearbeiten von Personen mit vielen Infos
    • Name, Nachname, Rufname (wird in der UI verwendet), Mädchenname
    • Bildergalerie
    • Geburtsdatum und -ort, mit Koordinaten und Auto-Suggest
    • Sterbedatum und -ort, natürlich optional 😉
    • Beruf oder Tätigkeit
    • Biografie
    • E-Mail-Adresse (lädt die Person zum Bearbeiten des Stammbaums ein)
    • Beziehungsstatus und Hochzeitsdatum
  • Privatsphäre, man sieht nur Details für die engeren Verwandten
  • Admin Log mit der Möglichkeit Änderungen rückgängig zu machen, falls mal jemand falsch geklickt hat
  • Geschichten schreiben, anzeigen und bearbeiten
  • Personen mit Auto Suggest im Stammbaum suchen
  • Gesammelte Benachrichtigungen via Mail über Änderungen im Stammbaum
  • Changelog mit Updates über die Entwicklung
Tech Stack
nextjsReact FlowTailwind CSSsqliteDocker