Skip to content
Snippets Groups Projects
Select Git revision
  • full_migration
  • main default
  • v1.0.9 protected
  • v1.0.8 protected
  • v1.0.7 protected
  • v1.0.6 protected
  • v1.0.5 protected
  • v1.0.4 protected
  • v1.0.3 protected
  • v1.0.2 protected
  • v1.0.1 protected
  • v1.0 protected
12 results

backend_api

  • Clone with SSH
  • Clone with HTTPS
  • VideoAG Website Backend API

    Dies ist die API der VideoAG Website. Sie ist in Python basierend auf Flask und uWSGI geschrieben.

    Entwicklung

    Zum lokalen Testen wird am besten Docker verwendet. Wenn Docker installiert ist, einfach docker compose up --build ausführen und die API sollte laufen. (Wenn die nötigen Dependencies installiert sind, sollte man auch direkt, ohne Docker, docker_start.sh ausführen können)

    Wenn du Probleme mit 403 Errors hast, sind wahrscheinlich die Berechtigungen deiner Ordner nicht richtig angepasst. Damit der Docker Container funktionieren kann, muss für die "Other" Gruppe jeder Ordner (Auch der Projekt ordner selbst!) das Execute Bit und jede Datei das Read bit gesetzt haben.

    Es wird ein nginx Server gestartet, welcher unter localhost:5000 verfügbar ist, und eine uWSGI Instanz welche die API über den nginx unter localhost:5000/api zur Verfügung stellt. Zur Entwicklung ist es auch sinnvoll das Frontend zu starten. Wenn dieses auf localhost:3000 verfügbar ist, stellt der nginx dieses unter localhost:5000/modern zur Verfügung (Auf das Frontend muss so indirekt zugegriffen werden, da es erwartet, dass die API unter derselben Domain/Port verfügbar ist).

    Im Debug Modus (DEBUG=True in der Config) sind die Logindaten: Nutzer: videoag Passwort: videoag

    Hinweis: In der Datenbank tauchen manchmal Warnungen auf, dass keine Transaktion am Laufen ist. Dies liegt daran, dass wir immer ein ROLLBACK machen, wenn es irgendwelche Probleme gegeben hat damit die nächste Transaktion einwandfrei läuft.

    Unittests

    Test laufen auch über docker und können mit run_tests.sh gestartet werden.

    Zum Mitmachen:

    1. Repo für den eigenen User forken, dafür den "Fork-Button" auf der Website verwenden
    2. Sicherstellen, dass der Upstream richtig konfiguriert ist:
      Link Origin stellt hier euren User da, Upstream das Original der Gruppe videoag
    3. Erstellt euch eine eigene Branch, diese könnt ihr nennen wie ihr wollt, entweder nach der Änderung oder eurem Namen (git branch username), danach switched ihr in diese Branch (git checkout username)
    4. Die Initialisierung ist unter "Zum Testen" bereits erklärt worden
    5. Änderungen machen, committen, upstream mergen (git fetch upstream; git merge upstream/master)
    6. Ins eigene Repo pushen (git push)
    7. Pull-Request an uns, dazu unter "Merge-Requests" einmal auf "New Merge Request" und das Private Repo auswählen; oder ihr geht auf euer privates repo, da taucht dann eine Benachrichtigung über einen möglichen Merge-Request auf
    8. Warten
    9. Wir mergen die Änderungen