Der Quellcode der StuV-Survival ist in einem git-Repo abgelegt.  Direkt im git-Repo findet sich der Quellcode. Dort finden sich einige  Ordner und einzelne Dateien.

In der .gitignore Datei finden sich Einträge, die bei der Arbeit mit git verschiedene Verzeichnisse von der Synchronisation ausnehmen. Unter  anderem finden sich dort Einträge für Einstellungen von  Entwicklungsumgebungen und das Build-Verzeichnis. Ein Großteil der Datei  ist automatisch generiert worden und deckt die verschiedenen Teile von  Java, Android, IntelliJ (Android Studio) und gradle ab. Ebenfalls für git dient die .mailmap Datei. In  dieser können für einen Entwickler verschiedene E-Mail-Adressen  hinterlegt werden. Diese Datei wird von einigen Anwendungen ausgewertet  und ermöglicht es, dass die Anwendungen, Änderungen durch einen  Entwickler mit mehreren “git-Identitäten” trotzdem einer Person  zugeordnet werden.

In der Datei .gitlab-ci.yml findet sich die Konfiguration, die GitLab für die Continuos Integration (CI) verwendet. Als Basis in der CI wird  ein Docker-Container verwendet. Parallelisiert werden in dem  Docker-Container Unit-Tests, eine statische Codeanalyse und das Bauen  eines Debug-Artifakt durchgeführt. Dazu passend ist im Dockerfile hinterlegt, wie der Container für den CI Prozess aussehen muss. Diese Datei gibt Docker vor, was getan werden muss. Gleichzeitig dient der dabei entstehende  Docker-Container auch als Build-Referenz, wenn das Kompilieren der  Anwendung Probleme macht.

Die drei Dateien CHANGELOG.md, README.md und LICENSE.txt enthalten Informationen über das Projekt. Das Changelog enthält  Informationen über vergangene Versionen und was sich in den  verschiedenen Versionen verändert hat. Das Readme enthält dagegen nur  allgemeine Informationen über das Projekt und die Funktionen, die durch  die App zur Verfügung gestellt werden. Die Lizenz-Informationen sind in  der LICENSE.txt enthalten. Genauer gesagt, findet sich in der Datei eine Kopie der Lizenz der Software wieder.

Die beiden Dateien gradlew und gradlew.bat geben den Entwicklern die Möglichkeit, mit dem Buildtool Gradle zu interagieren. Wenn notwendig, werden dafür notwendige Dateien aus  dem Internet heruntergeladen. Benötigt wird dazu auf dem Rechner nur  eine Java-Laufzeitumgebung. Die Konfiguration der zu verwendenden gradle-Version erfolgt über die Datei gradle-wrapper.properties im Unterordner gradle/wrapper. Das sich im gleichen Verzeichnis befindende gradle-wrapper.jar Archiv ist der Starter für gradle, der durch die beiden Skripte gestartet wird. Dies kann jedoch komplett ohne Administratoren-Rechte erfolgen. Ebenfalls zu gradle gehört die Datei gradle.properties. Diese enthält Einstellungen für die Ausführung von gradle. Die im Repo vorhandene Datei konfiguriert gradle dazu, dass soweit möglich die Kompilierung der Komponenten parallel  erfolgen soll. Wenn möglich soll außerdem ein Dämon gestartet werden, da  dies die mehrfache Kompilierung erheblich beschleunigt. Zusätzlich wird  gradle 2 GB Arbeitsspeicher zugewiesen. Wichtig: Diese Einstellungen haben nur bei der Nutzung von gradle auf der Kommandozeile eine Auswirkung.

Die settings.gradle ermöglicht es, dass sowohl die app- als auch die commons Komponente als eigenständiges gradle-Modul  existieren können und trotzdem beide in den Bauprozess eingebunden  werden. Als eigentliche Basis-Konfiguration für das Projekt wird jedoch  die build.gradle herangezogen. Diese konfiguriert unter  anderem die Quellen für andere Abhängigkeiten. Im Falle von  StuV-Survival wird das Standard Gradle-Repo und als Maven-Repo JitPack verwendet.

app

Das Verzeichnis app enthält den eigentlichen Code für die App. Es handelt sich um  verschiedene Dateien. Unter anderem vertreten sind Java-Quellcode  Dateien und XML-Dateien.

commons

Das Verzeichnis commons enthält einige Java-Quellcode Dateien, deren Code nicht nur in der App  von Nutzen ist, sondern auch in anderen Projekten verwendet werden kann.