Praxis: Projekt aufsetzen
Empfehlung: Richte in jedem Fall die Umgebung ein.
Wenn es dir dann aber:
- Zu langweilig ist…
- Du mehr Fokus aufs lernen von SQL legen möchtest…
- eine Herausforderung suchst, weil du schon “alles” kennst…
…dann haben wir für dich ein paar empfehlenswerte Spiele rausgesucht, welche deine Kenntnisse testet:
- https://mystery.knightlab.com/ (gratis)
- https://sql-island.informatik.uni-kl.de/ (gratis)
- https://sqlpd.com/ (leider nur zum antesten gratis)
- https://schemaverse.com/ (nicht so gut als Einstieg)
Diese sind teilweise auch als Einstieg in das Thema SQL und Datenbanken geeignet, welches wir hier nur anschneiden werden.
Setup
Beachte, dass die Zeichen < und > als Platzhalter verwendet werden und nicht eingegeben werden sollen.
Du wirst heute und in den nächsten paar Tagen nicht nur mit Datenbanken und Datenmodellen zu tun haben, sondern auch mit
- Docker
- Git
- Python (erst ab Übung 3 nötig, kann auf später geschoben werden, es kann auch mit reinen docker Container gearbeitet werden)
arbeiten. Uns ist bewusst, dass dies teilweise eine Herausforderung sein wird. Wir sind der Meinung, dass dies eine der besten Zeiten ist, dies anzuschauen, da dies für den praktischen Alltag im Studium einen wesentlichen Vorteil bietet. Wir können aber falsch liegen, bitte melde uns sobald als möglich, wenn das unnötig ist/war.
Eine relativ kurze, aber dennoch gute Einführung in docker ist z.B. https://youtube.com/playlist?list=PL4cUxeGkcC9hxjeEtdHFNYMtCpjNBm3h7&si=y8arR11k9nCTYaM4
Du musst nicht alle Teile anschauen, nimm das, was du brauchst, um vorwärts zu kommen und schauen den Rest auf der Heimfahrt oder so.
Und natürlich sind wir hier, um Fragen zu beantworten und bei Problemen mit Rat und Tat zur Seite zu stehen. Löchert uns mit Fragen bis wir nicht mehr weiter wissen!
Genug gelesen, jetzt bist du dran:
Folgende Entscheidungen stehen an:
- Wahl der Umgebung (lokal oder auf unserer Infrastruktur)
- Wahl der git-clone Variante mit SSH-Schlüssel oder mittels Login (https).
Wir empfehlen folgendes: Starte Lokal. Nimm dir zB 1h Stunde für Docker (1/4h), SSH-Key (1/2h) und Klonen (1/4h), und wenn es bis dann nicht lokal klappt, wechsle auf unsere Infrastruktur.
Diese erlaubt es dir, dich mit gitlab.ost.ch resp. gitlab.com automatisch zu verbinden, so entfällt ein Teil des Aufwands und du kannst trotzdem vorwärts kommen.
Einrichten und Aufsetzen der Entwicklungsumgebung
Folgend die Übersicht, Details dazu unten (inklusive Links zu den Begriffen):
- Nutze ein vorhandenes Konto oder erstelle ein neues Login auf https://gitlab.ost.ch/ (falls kein OST-Login möglich: https://gitlab.com).
Forkeunser Repository.- Nutze docker und das compose file, um die Umgebung zu starten
- Wie du lokal arbeiten kannst, findet sich im Tab ‘lokal’.
- Falls du die remote Option von uns nehmen musst, findest du das im Tab ‘coder’.
- Starte das Beispiel-Projekt und stelle sicher, dass alles läuft.
Solltest du kein OST-Login haben (oder diesen lieber nicht nutzen), dann kannst unsere externe Coder Instanz verwenden.
Bitte schicke hierzu eine Mail an nicola.jordan@ost.ch mit Inhalt “Ich hätte gerne eine externe Coder Instanz” (ich brauche dein Email um einen Account zu erstellen).
Bei den Erklärungen unten gehen wir nur wo nötig auf die Alternative mit gitlab.com ein, da es fast identisch wie auf gitlab.ost.ch ist.
1. GitLab Login
Falls du kein OST-Account hast und es darum nicht gehen sollte, kannst du alternativ auf gitlab.com wechseln, was die Übungen etwas umständlicher macht, aber im Grundsatz auch geht.

Azure AD für den Login.Erstelle eine neues Login, falls du noch keines besitzt: gitlab.com.
- Erstelle ein neues Login oder nutze ein vorhandenes Login für das git repository.
Dann logge dich dort ein.
2. Forke unser Repository
und bringe es in deinen Ordner.
Das original Repo (Kurzform von Repository) findest du hier https://gitlab.ost.ch/vorkurs-i/datenmodelle/uebungen1
1 Für <gitlab.com>{target=“_blank”} ist es hier zu finden: https://gitlab.com/ost-fh/informatik-vorkurs/datenmodelle/uebungen



Yay, du bist jetzt ein Repository Besitzer :-)
Als nächstes müssen wir dieses Repo noch an den Verwendungsort bringen. Das nennt man klonen und ist eines der vielen Wörter, die mit dem eigentlichen Klonen in der Biologie nicht viel gemeinsam haben.
Klonen lokal
Wenn du magst, kannst du ein SSH-Key erstellen (wenn du nicht weisst, was das ist, hast du sehr wahrscheinlich noch keinen): Dieser macht der Zugriff auf das Repository etwas einfacher und auch sicherer (sofern man den privaten Teil niemandem zeigt/veröffentlicht).
Exkurs: Nutzen eines SSH Keys
Ein generelle Anleitung für SSH-Keys findest du auch spezifisch für GitLab.
Beachte hierbei, dass du gitlab.example.com mit gitlab.ost.ch ersetzen musst und nicht alles identisch ist, da es Versionsdifferenzen gibt.
Allgemein formuliert, musst einen neuen oder bestehenden Key in deinem System haben und auf GitLab hinzufügen.
Dies kannst du unter deinen User Einstellungen machen:
Füge den Public-Key in dein Profile https://gitlab.ost.ch/-/profile/keys ein.2
2 Für <gitlab.com>{target=“_blank”}: https://gitlab.com/-/profile/keys
Jetzt kannst du entweder mit SourceTree oder die Konsole verwenden, für SourceTree kann man gut Google fragen.
Im Terminal ist es möglich, folgenden Befehl zu verwenden.
git clone <ssh/http url vom Repo>
# oder wenn ein spezifisches Verzeichnis verwendet werden soll:
# git clone <ssh/http url vom Repo> <Zielverzeichnis>

Coder hat ein automatische Verbindung zu GitLab weil wir uns da mit GitLab authentifizieren (respektive im Fall Vorkurs Coder beim Verwenden des Templates). Das ist zwar praktisch, verhindert aber, dass wir lernen, wie SSH-Keys zu gebrauchen sind.
- Installiere Docker:
- Windows (mit
WSLwenn möglich): docs.docker.com/desktop/install/windows-install/ - macOS: docs.docker.com/desktop/install/mac-install/
- Linux: Bitte verwende eine Server Version, mit docker desktop startet es in einer VM, was es unnötig kompliziert macht. docs.docker.com/engine/install/
- Windows (mit
Logge dich auf https://coder.infs.ch/login ein. Hierzu brauchst du ein gtilab.ost login (solltest du haben).
Hier ist Git und docker schon installiert, du solltest also loslegen können mit Schritt 4.
4 Testen ob alles tut
Mache ein neues Terminal auf (und wechsle, falls nicht schon drin, in das Verzeichnis, wo sich der Code befindet) und gib folgenden Befehl ein:
docker compose up --buildDu solltest einen Output erhalten, der ähnlich dem Bild hier entspricht:

Falls das geht, kannst du jetzt auf http://localhost:3000 und du solltest einen Output sehen, der mit {"swagger":"2.0" beginnt.
Und schon läuft es - eventuell aber auch nicht.
Falls das geht, solltest du noch das Datenbank-Verwaltungstool auf http://localhost:5000 aufrufen können. Irgendetwas mit pgAdmin sollte dann erscheinen.
Soviel zum ernsten Teil. Jetzt zum Spassigen Teil:
Gehe auf http://localhost:8888 und du bekommst ein Jupyter Notebook, welches vollständig im Browser läuft (mit dem Nachteil, dass es nur im Browser gespeichert ist, wenn du die Dateien sichern möchtest, muss du diese herunter laden.)
Trotzdem: wie cool ist das denn, jetzt kannst du Raphael in der Vorlesung folgen!
Noch ein letztes Puzzle-Teil für den praktischen Teil heute fehlt noch: Unter http://localhost:8000 befindet sich die Vorlage für die kommenden praktischen Aufgaben. Überprüfe, ob du die Beispiel-ToDo App aufrufen kannst und den View Code Knopf vorhanden ist.
Puh, geschafft!
Jetzt ruhig durchatmen, du hast jetzt:
Mit Docker und docker compose 5 verschiedene Projekte gestartet, eines davon ist die Datenbank, ein weiteres ist die Verwaltung der DB und 2 sind Python im Browser. Das fünfte werden wir dann noch kennen lernen.
Dabei sind dir SSH-Keys, Git Repositories und einige magisch anmutende, wie zum Beispiel möglicherweise “im Browser laufendes Python”, über den Weg gelaufen.
Das ist die Magie der Informatik: Zuerst magisch, weil man es nicht versteht und dann magisch, weil man es versteht :-).
Es gibt zu diesem Part noch etwas Theorie-Aufgaben (diese nehmen im Verlauf dann etwas ab).
Up Next: Deine erste Tabelle erstellen!