update
This commit is contained in:
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user