This commit is contained in:
Marek
2026-04-05 15:16:59 +02:00
parent 6bbadb69c7
commit b5659069b1
4 changed files with 13 additions and 10 deletions

View File

@@ -3,7 +3,7 @@
- Background Script — Daten gruppiert an Server senden (POST /videos) - Background Script — Daten gruppiert an Server senden (POST /videos)
# Server # Server
## API ## API
- POST /videos — Videodaten von Extension empfangen - POST /videos — Video-Batch empfangen, Duplikate entfernen
- GET /videos — alle Videos abrufen - GET /videos — alle Videos abrufen
- GET /videos/downloaded — heruntergeladene Videos abrufen - GET /videos/downloaded — heruntergeladene Videos abrufen
- POST /videos/{id}/download — Download triggern - POST /videos/{id}/download — Download triggern
@@ -11,17 +11,20 @@
- GET /videos/{id}/file — Video-Datei zum Download ausliefern - GET /videos/{id}/file — Video-Datei zum Download ausliefern
## Services ## Services
- VideoService — Videos speichern, abrufen, Status verwalten - VideoService — Videos speichern, abrufen, Status verwalten
- DownloadService — yt-dlp aufrufen, Download-Status tracken - DownloadService — yt-dlp aufrufen, Video herunterladen
- StreamService — Live-Streaming via yt-dlp + ffmpeg
## Model ## Model
- Video — id, title, youtuber, thumbnail_url, youtube_url, file_path - Video — id, title, youtuber, thumbnail_url, youtube_url, file_path
# App # App
## Screens ## Screens
- AllVideosScreen — alle Videos als Cards - AllVideosScreen — alle Videos als Cards
- DownloadedVideosScreen — heruntergeladene Videos als Cards - DownloadedVideosScreen — heruntergeladene Videos als Cards
- VideoDetailScreen — Starten, Download, Zurück - VideoDetailScreen — Starten, Download, Zurück, Löschen
- VideoPlayerScreen — Player mit Standard-Controls - VideoPlayerScreen — Player mit Standard-Controls
## ViewModel ## ViewModel
- VideoViewModel — Video-State verwalten, API-Aufrufe triggern, lokal bevorzugen sonst streamen - VideoViewModel — Video-State verwalten, API-Aufrufe triggern, lokal bevorzugen sonst streamen
## Services
- LocalStorageService — Videos lokal speichern, pruefen, loeschen
## API ## API
- ServerApi — kommuniziert mit FastAPI (GET /videos, POST /download, GET /stream, GET /videos/{id}/file) - ServerApi — kommuniziert mit FastAPI (GET /videos, POST /download, GET /stream, GET /videos/{id}/file)
## Model ## Model

View File

@@ -1,7 +1,7 @@
# Browser Extension intern # Browser Extension intern
- Videodaten erfassen - Videodaten erfassen
# Browser Extension -> Server # Browser Extension -> Server
- Videodaten senden - Videodaten gruppiert senden
# Server intern # Server intern
- Videodaten persistieren - Videodaten persistieren
- Video herunterladen - Video herunterladen
@@ -15,3 +15,5 @@
# App intern # App intern
- Video streamen anfragen - Video streamen anfragen
- Video downloaden anfragen - Video downloaden anfragen
- Video lokal speichern
- Video lokal abspielen

View File

@@ -1,13 +1,12 @@
# Aufgaben # Aufgaben
## Browser ## Browser
- Sichtbare Youtube Videos werden erfasst - Sichtbare Youtube Videos werden erfasst
- Videodaten (Titel, Youtuber, Bild, Url) werden nach dem erfassen an den Server gesendet - Videodaten (Titel, Youtuber, Bild, Url) werden nach dem erfassen gruppiert an den Server gesendet
- Bereits erfasste Videos werden nicht erneut gesendet
- Extension hat keine Einstellung - Extension hat keine Einstellung
## App ## App
- Ansicht: Navigation mit Alle Videos, Heruntergeladen - Ansicht: Navigation mit Alle Videos, Heruntergeladen
- Alle Videos: Videos als Cards auflisten (Untereinander: Bild, Youtuber, Titel) - Alle Videos: Videos als Cards auflisten (Untereinander: Bild, Youtuber, Titel)
- Heruntergeladen: Heruntergeladene Videos als Cards auflisten (Untereinander: Bild, Youtuber, Titel) - Heruntergeladen: Heruntergeladene Videos als Cards auflisten (Untereinander: Bild, Youtuber, Titel)
- Klick auf Card zeigt die Videoübersicht (Starten, Download, Zurück) - Klick auf Card zeigt die Videoübersicht (Starten, Download, Zurück)
- Klick auf Startet startet den Stream über den Server mit den Standard Video-Controls - Klick auf Startet startet den Stream über den Server mit den Standard Video-Controls und einem Zurück-Button
- Klick auf Download lädt das Video herunter und übertragt es auf den Client - Klick auf Download lädt das Video herunter und wird lokal auf dem Client gespeichert

View File

@@ -2,8 +2,7 @@
- Javascript: Daten angezeigter Videos an Server senden - Javascript: Daten angezeigter Videos an Server senden
# Server # Server
- FastAPI: Videodaten empfangen - FastAPI: Videodaten empfangen
- python: Downlods triggern, Videos streamen - yt-dlp + ffmpeg: Video herunterladen, Videos streamen
- yt-dlp + ffmpeg: Video herunterladen
- SQLite: Daten persistieren - SQLite: Daten persistieren
# App # App
- Kotlin: Videos auflisten, Download triggern, Videos abspielen - Kotlin: Videos auflisten, Download triggern, Videos abspielen