update
This commit is contained in:
28
architecture.md
Normal file
28
architecture.md
Normal file
@@ -0,0 +1,28 @@
|
||||
# Browser Extension
|
||||
- Content Script — YouTube-DOM auslesen, Videodaten extrahieren
|
||||
- Background Script — Daten an Server senden (POST /videos)
|
||||
# Server
|
||||
## API
|
||||
- POST /videos — Videodaten von Extension empfangen
|
||||
- GET /videos — alle Videos abrufen
|
||||
- GET /videos/downloaded — heruntergeladene Videos abrufen
|
||||
- POST /videos/{id}/download — Download triggern
|
||||
- GET /videos/{id}/stream — Video streamen
|
||||
- GET /videos/{id}/file — Video-Datei zum Download ausliefern
|
||||
## Services
|
||||
- VideoService — Videos speichern, abrufen, Status verwalten
|
||||
- DownloadService — yt-dlp aufrufen, Download-Status tracken
|
||||
## Model
|
||||
- Video — id, title, youtuber, thumbnail_url, youtube_url, file_path
|
||||
# App
|
||||
## Screens
|
||||
- AllVideosScreen — alle Videos als Cards
|
||||
- DownloadedVideosScreen — heruntergeladene Videos als Cards
|
||||
- VideoDetailScreen — Starten, Download, Zurück
|
||||
- VideoPlayerScreen — Player mit Standard-Controls
|
||||
## ViewModel
|
||||
- VideoViewModel — Video-State verwalten, API-Aufrufe triggern, lokal bevorzugen sonst streamen
|
||||
## API
|
||||
- ServerApi — kommuniziert mit FastAPI (GET /videos, POST /download, GET /stream, GET /videos/{id}/file)
|
||||
## Model
|
||||
- Video — id, title, youtuber, thumbnailUrl, youtubeUrl, isDownloaded, localFilePath
|
||||
Reference in New Issue
Block a user