Skip to content

Repository files navigation

CampusApp

Offizielle Campus App der Dualen Hochschule Baden-Württemberg Lörrach (DHBW Lörrach).

Die App wird plattformübergreifend mit React Native und Expo entwickelt und ist für Android-Geräte und das iPhone im PlayStore bzw. AppStore erhältlich.

Android: https://play.google.com/store/apps/details?id=de.dhbwloe.loerrach.campusapp

iPhone/iOS: https://itunes.apple.com/de/app/dhbw-lorrach-campus-app/id1106917276

Setup des Projekts für Entwickler

  1. Das Projekt mit git klonen:

    git clone git@github.com:DHBWLoerrach/CampusApp.git

  2. In der Kommandozeilenumgebung in das Projektverzeichnis CampusApp wechseln:

    cd CampusApp

  3. Die Abhängigkeiten bzw. npm-Pakete in Node.js installieren:

    npm ci

    Wichtig für das Team (macOS + Windows): Für das initiale Setup immer npm ci verwenden, nicht npm install. So werden exakt die Versionen aus package-lock.json installiert und unnötige Lockfile-Änderungen zwischen Betriebssystemen reduziert.

  4. Benötigte API-Keys (z.B. für die Mensa des SWFR) vom Projektverantwortlichen anfordern und in eine Datei .env eintragen

  5. Development prebuild erstellen (erzeugt android-Projektordner und auf macOS auch das iOS-Projekt im Ordner ios):

    npx expo prebuild

  6. Development build bauen und ausführen:

Vorbedingungen:

  • Android Studio bzw. das Android SDK muss für die Android-App installiert sein

  • Nur für macOS relevant: XCode muss installiert sein

  • Android npx expo run:android

  • iOS (nur auf macOS möglich): npx expo run:ios

  1. Ein development build muss nur dann neu erstellt werden, wenn die (nativen) Abhängigkeiten sich geändert haben. Sobald auf dem Testgerät ein Dev-Build installiert ist, reicht

npx expo

womit der Entwicklungsserver (Metro-Bundler) für das Projekt gestartet wird (Ausgabe für Tipps zum Start der App beachten).

Umgebungsvariablen (.env)

Kopiere .env.example nach .env und trage die Werte ein. Alle EXPO_PUBLIC_*-Variablen werden beim Build in die App eingebettet.

Variable Erforderlich Bedeutung
EXPO_PUBLIC_SWFR_API_KEY Ja API-Key für den Mensa-Speiseplan (SWFR). Beim Projektverantwortlichen anfordern.
EXPO_PUBLIC_RIDES_ENABLED Nein Zeigt die Mitfahr-Funktion im Stundenplan. Standard: false.
EXPO_PUBLIC_RIDES_SOURCE Nein Quelle der Mitfahr-Daten: remote (Standard) oder file (nur Dev).
EXPO_PUBLIC_RIDES_URL Nein Überschreibt die URL der Mitfahr-Daten. Standardwert ist fest hinterlegt.

Abhängigkeiten ändern (add/update/remove)

npm ci ist für ein reproduzierbares Setup gedacht. Wenn Abhängigkeiten geändert werden sollen, erfolgt das bewusst mit npm install oder npm uninstall:

  • Hinzufügen: npm install <paket> (bzw. npm install -D <paket> für Dev-Dependencies)
  • Aktualisieren: npm install <paket>@<version> oder npm update <paket>
  • Entfernen: npm uninstall <paket>

Dabei werden package.json und package-lock.json aktualisiert. Beide Dateien müssen gemeinsam committed werden.

Lizenz

MIT

About

Quellcode der DHBW Lörrach Campus App

Topics

Resources

Stars

12 stars

Watchers

2 watching

Forks

Used by

Contributors

Languages