Skip to content
Snippets Groups Projects
Select Git revision
  • f861ff0ccc8b27f4b58fd8cd9b46e6f9c2e868f0
  • main default
  • full_migration
  • 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
13 results

backend_api

  • Clone with SSH
  • Clone with HTTPS
  • Simon Künzel's avatar
    Simon Künzel authored
    f861ff0c
    History

    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 eine uWSGI Instanz gestartet, welcher unter localhost:5000 verfügbar ist. Zur Entwicklung ist es auch sinnvoll das Frontend zu starten. Dieses sollte unter localhost:3000 verfügbar sein.

    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