Backend - HeroPhil/DHBW-KinoCinema GitHub Wiki

Struktur

Das Backend besteht aus zwei Grund-Verzeichnissen, dem /src und dem /test-Verzeichnis. Im Folgenden werden die Inhalte dieser Verzeichnisse erläutert.

/src

In diesem Verzeichnis werden die firebase Umgebungsvariablen initialisiert.

/src/database

In diesem Verzeichnis liegt der Hauptteil des source-codes.

Dateien Beschreibung
admin.ts Hier findet eine Initialisierung der firebaseApp statt.
basics.ts Die basics-Datei enthält Funktionen für den Zugriff auf die Datenbank, die häufig wiederverwendet werden.
hall.ts Die hall-Datei enthält den Konstruktor für und alle Funktionen rund um die Vorstellungsräume.
index.ts Die index-Datei enthält eine Aufruf-Routine für alle Cloud-Functions, die vom Frontend aufgerufen werden können.
movies.ts Die movies-Datei enthält den Konstruktor für und alle Funktionen rund um die Filme.
rowType.ts Die rowType-Datei enthält den Konstruktor für und alle Funktionen rund um die Sitzreihen.
screenings.ts Die screenings-Datei enthält den Konstruktor für und alle Funktionen rund um die Vorstellungen.
tickets.ts Die tickets-Datei enthält den Konstruktor für und alle Funktionen rund um die Tickets.
users.ts Die users-Datei enthält den Konstruktor für und alle Funktionen rund um die User.

/src/logic

In diesem Verzeichnis liegt die Business-Logik des Systems. Das /src/database-Verzeichnis umfasst hauptsächlich die Interaktionen mit der Datenbank und die Aufbereitung von Daten. Die Logik ist in das /src/logic-Verzeichnis ausgelagert.

Dateien Beschreibung
auth.ts Hier wird die Logik der Authentifikation aufbewahrt. Also beispielsweise eine Routine um zu testen ob der Aufrufer einer Cloud-Function angemeldet ist.
row.ts Hier wird die Logik der Sitzreihen aufbewahrt. Also beispielsweise eine Routine zum zählen von Sitzreihen in einem Vorstellungsraum.
screenings.ts Hier wird die Logik der Vorstellungen aufbewahrt. Also beispielsweise eine Routine zum Aufbau von Vorstellungsräumen als Array.
tickets.ts Hier wird die Logik der Tickets aufbewahrt. Also beispielsweise eine Routine um festzustellen ob ein Sitzplatz bereits gebucht wurde.

/test

In diesem Verzeichnis liegen alle Unit-Test. Eine genauere Dokumentation kann diesem Link entnommen werden.

/test/database

Durch die Dateien in diesem Verzeichnis können wir testen ob die Anbindung an die Datenbank und die Datenstrukturen, die wir erhalten unseren Normen entsprechen.

/test/logic

Durch die Dateien in diesem Verzeichnis können wir die die Business-Logik des Systems testen. Speziell werden hier also alle (100%) der Business-Logik getestet, die wir in das /src/logic-Verzeichnis auslagern konnten.