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.