diff --git a/project schedule.md b/project schedule.md new file mode 100644 index 0000000..9838654 --- /dev/null +++ b/project schedule.md @@ -0,0 +1,26 @@ +# Project Schedule + +| No. | Task description | Estimated time | +| --- | --- | --- | +| 1 | Define the project requirements, target users, and core features for playlist downloading and synchronization. | 3 hours | +| 2 | Design the overall architecture for the Python package, CLI entry point, and configuration structure. | 4 hours | +| 3 | Implement configuration loading and validation for paths, download modes, quality settings, and external tools. | 5 hours | +| 4 | Build the playlist fetching logic to read playlist entries and detect new, deleted, or private videos. | 5 hours | +| 5 | Implement the downloader core for audio, video, and combined download modes using yt-dlp, ffmpeg, and aria2c. | 8 hours | +| 6 | Add filename sanitization, track renumbering, and output path management to keep downloaded files organized. | 5 hours | +| 7 | Implement playlist update and cleanup logic so the local library stays synchronized with the online playlist. | 5 hours | +| 8 | Create CLI flags for debug mode, pruning, auto-confirmation, and custom config file selection. | 4 hours | +| 9 | Add logging, warnings, and error handling for missing binaries, network issues, and invalid settings. | 4 hours | +| 10 | Prepare Docker support and environment-variable based configuration for containerized usage. | 4 hours | +| 11 | Review the implementation, fix bugs, and refine behavior based on test results and runtime issues. | 6 hours | +| 12 | Choose the GUI framework and define the desktop architecture, create a local backend API. | 4 hours | +| 13 | Build the initial desktop GUI prototype with controls & basic actions. | 6 hours | +| 14 | Connect the GUI to backend functionality for adding playlists, starting downloads, and showing progress updates. | 6 hours | +| 15 | Add GUI settings for download mode, quality, save paths, and external tool configuration. | 5 hours | +| 16 | Prepare GUI packaging and distribution for Windows and Linux. | 5 hours | +| 17 | Write automated tests for config loading, downloader behavior, playlist updates, and cleanup edge cases. | 7 hours | +| 18 | Write user documentation, usage examples, and release instructions for Windows and Linux. | 3 hours | + +## Total Time + +89 hours