Smartphone App für die Campus Rallye im ersten Semester an der DHBW Lörrach.
Basierend auf den Ergebnissen von Studienarbeiten an der DHBW Lörrach durchgeführt am Studienzentrum IT-Management & Informatik.
Die Daten werden in Supabase gespeichert. Zur Weiterentwicklung und Test der Webanwendung sollte diese mit einer lokalen Supabase-Instanz auf dem eigenen Rechner verknüpft werden. Die Einrichtung einer lokalen Supabase-Instanz wird in der Supabase-Dokumentation beschrieben.
Hier werden die für dieses Projekt benötigten Schritte aufgelistet:
- Supabase CLI installieren, siehe Supabase-Dokumentation
- Docker installieren (Docker Desktop)
- Verzeichnis für die lokale Supabase-Instanz erstellen, z.B.
projects/rallye-db
- Im Terminal in das eben erstellte Verzeichnis wechseln (
cd rallye-db
) - Dort diesen Befehl ausführen:
supabase init
- Supabase starten mit
supabase start
(Docker-Images werden heruntergeladen) - Aktuelles Datenbankschema und Datenbankinhalt vom Projektverantwortlichen anfragen
- Das Datenbankschema als SQL-Datei speichern unter
rallye-db/supabase/migrations/
- Den Datenbankinhalt als Datei
seed.sql
speichern unterrallye-db/supabase/
- Datenbank aus der Schema-SQL-Datei erstellen mit
supabase db reset
Wenn alles geklappt hat, dann kann die lokale Supabase-Instanz mit dem Webinterface im Browser verwaltet werden: http://127.0.0.1:54323
Die Supabase-Instanz kann folgendermaßen heruntergefahren werden: supabase stop
Voraussetzungen für die Weiterentwicklung dieses Projekts sind folgende:
- Node.js ist auf dem Entwicklungsgerät installiert.
- Die lokale Supabase-Instanz wurde eingerichtet (siehe oben)
-
Dieses Github-Repository clonen (mit
git clone [email protected]:DHBWLoerrach/CampusRallyeApp.git
oder einem Git-Client). -
In einem Terminal ins Verzeichnis des geclonten Repositories wechseln.
-
Anschließend müssen mit npm die Abhängigkeiten bzw. npm-Pakete in NodeJS installiert werden:
npm install
-
Zum Schluss muss noch die Konfiguration zu Supabase angepasst werden. Dazu ist zunächst die Datei
.env
im Projektverzeichnis zu erstellen. In.env
müssen zwei Einträge vorgenommen werden:
EXPO_PUBLIC_SUPABASE_URL=http://SERVER:54321
EXPO_PUBLIC_SUPABASE_ANON_KEY=SUPABASE_ANON_KEY
Der Eintrag für EXPO_PUBLIC_SUPABASE_URL
muss die IP-Adresse
des Servers enthalten. Wird die App auf einem iPhone-Simulator oder
Android-Emulator auf dem Rechner ausgeführt, der die Supabase-Instanz
bereitstellt, dann kann für SERVER
die IP-Adresse von „localhost“
eingesetzt werden:
EXPO_PUBLIC_SUPABASE_URL=http://127.0.0.1:54321
Wird die App auf einem Smartphone ausgeführt, dann ist für
SERVER
die IP-Adresse des Rechners einzutragen, auf dem
die Supabase-Instanz läuft.
Für EXPO_PUBLIC_SUPABASE_ANON_KEY
muss der Anon Key der
Supbase-Instanz eingefügt werden. Dieser kann im Terminal
abgefragt werden (dazu ins Verzeichnis der lokalen
Supabase-Instanz wechseln):
supabase status
Nun kann die App getestet und weiterentwickelt werden. Für das aktive Testen muss nun mit npx expo -g
der Server gestartet werden. Die App kann in Expo Go App getestet werden (Scan des QR-Codes). Informationen hierzu werden direkt auf der Konsole angezeigt.
Die Anmeldedaten für die Teilnahme an einer Rallye in der App können aus den entsprechenden Tabellen in der Supabase-Instanz in Erfahrung gebracht werden.