mirror of
https://github.com/darkzoul5/YoutubePlaylistSync.git
synced 2026-07-03 04:23:59 +03:00
1.2 KiB
1.2 KiB
GUI Plan
Python-first Desktop Architecture
- Primary GUI framework:
PySide6(Qt for Python).
Core Features to Implement
- Dashboard Overview: List all tracked playlists, their status (Last Sync), and total size.
- Interactive Configuration: Wizard-style setup for new playlists (URL detection, folder picker).
- Queue Manager: Visual progress bars for active downloads, showing speed, ETA, and current video title.
- Log Viewer: Real-time streaming of yt-dlp logs for troubleshooting.
- Settings Panel: Global settings for binary paths (ffmpeg), max parallel jobs, and Docker detection toggle.
Phase 1 Roadmap: "The Bridge"
- PySide6 Skeleton: Basic window with
QWebEngine(if hybrid) or nativeQWidgetdashboard. - Packaging:
pyinstallerconfiguration to bundle both backend and frontend into a single.exe.
Packaging & Distribution (brief)
- Bundle the backend and GUI into one distributable.
- Windows: use
pyinstallerorbriefcaseto create an executable/installer. Consider creating an MSI or Inno Setup installer for a polished UX. - Linux: provide AppImage, Snap, or distribution-specific packages (deb/rpm) — AppImage is a good starting point for single-file distribution.