Skip to content

Externer Webservice

Sebastian Faust edited this page Jul 9, 2018 · 1 revision

Firebase (Database - Firestore)

Analyse

Beschreibung

Google Firebase ist ein Webservice, der auf die Speicherung von diversen Daten und Umsetzung von verteilten Systemen ausgelegt ist.

Welche Funktionen bietet Firebase an?

Firebase hat eine Vielzahl von Sub-Systemen. Firestore ist zb. besonders auf REST-Konforme Speicherung von JSON ähnlichen Objekten ausgelegt, was sich Perfekt für unser System anbietet.

Allgemein ist Firebase sehr gut für die Einbindung in node.js ausgelegt und bietet standardmäßig viele Funktionen.

Welche Funktionen wollen wir nutzen?

Wir nutzen die Database von Firestore. Mit dieser wollen wir unsere Events, User, Wishes und Shoppinglists speichern und für alle User verfügbar machen. Wichtig bei der Strukturierung der Daten ist, dass wir uns dabei an die Vorgaben von REST halten.

Probleme

Da Firestore noch in der Beta Phase ist, wurden Data-Querys noch nicht vollkommen implementiert. Es gibt nicht die Möglichkeit eine "Gib mir alle Documents, wo ein spezifisches Objekt in einer Sub-Collection ist"-Suche auszuführen.

bsp Domain: events/(id)/users/(id) "Gib mir alle Events wo "Sebastian" ein User ist."

Um dies zu umgehen mussten wir auf der Dokument Ebene "events/(id)" zusätzlich noch alle Users des Events speichern. Also wird nun bei jedem POST auf "events/(id)/users/" zusätzlich "events/(id)" verändert. Dies ist leider nicht REST Konform, aber die einzige Möglichkeit eine Query auf die User des Events zu implementieren.