so ich denke das sollte für ne 3 reichen lol

This commit is contained in:
2025-03-29 12:09:11 +01:00
parent 860e4ed063
commit 701cfa7d61
8 changed files with 147 additions and 40 deletions

View File

@@ -1,12 +1,35 @@
Dieses Projekt demonstriert die Umsetzung eines einfaches Dienstes mit Python 3, Flask, sqlite3 und Caddy welches ermöglicht das Hochladen/Herunterladen von Dateien über Weboberfläche oder API.
Dieses Projekt demonstriert die Umsetzung eines einfaches Dienstes mit flask (Routing), jinja2 (Templates) und sqlite3 in Python welches ermöglicht das Hochladen/Herunterladen von Dateien über Weboberfläche oder URL abruf.
## Pre-Installation
1. Installiere Abhängigkeiten.
Debian-basierte Distributionen: sudo apt install caddy python
pip install flask jinja2 sqlite3
pip install flask sqlite3
2. Klone die Repository
git clone https://git.raizen.me/raizen/E3FI2_Kamil_Filehosting.git
2. Editiere die Konfigurationsdatei von Caddy
nano /etc/caddy/Caddyfile
3. Führe das Skript aus
flask --app main.py run
oder
python -m flask --app main.py run
4. In Webbrowser http://127.0.0.1:5000 öffen
## Bedienung
Aus Perspektive der Nutzer:
1. Rufe index auf
2. Häge die Datei an das Formular, drücke auf Upload
3. Eine Übersicht mit Downloadlink wird angezeigt
Aus Perspektive der API:
1. Übergebe die Datei an das /upload Endpoint (format: file -> binary data, filename -> name der datei)
2. Aufruf von Downloads genau so wie Nutzer
## Struktur
(host)/ -> Formular bei dem die Datei angehängt wird (nicht für API gedacht)
(host)/upload -> Formular oder API sendet die Datei an dieses Endpoint, als Rückgabe wird eine übersicht mit dem Link ausgegeben.
(host)/file/(id) -> Dateiübersicht die Name, Größe, Uploaddatum sowie den Downloadlink enthält (könnte für API nützlich sein)
(host)/file/(id)/download -> Startet den download von der Datei