From 971332f243d8fc995f9a4d2c99d1c2c4cd2a2dbd Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Mon, 15 Dec 2025 12:56:52 +0000 Subject: [PATCH] Created ROADMAP.md --- ROADMAP.md | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 ROADMAP.md diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..33d2bfe --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,85 @@ +# Video Compression Web App Roadmap + +## MVP (Minimal Viable Product) + +### Issue 1: Frontend - Single File Upload Page +**Description:** +Create a simple webpage allowing the user to upload a single video file. + +**Checklist:** +- [ ] Create HTML upload form. +- [ ] Add "Upload" button. +- [ ] Display "Processing..." message while backend compresses video. +- [ ] Show download link after compression is complete. + +### Issue 2: Backend - FFmpeg Compression for One File +**Description:** +Implement server-side compression for a single uploaded video file using FFmpeg. + +**Checklist:** +- [ ] Receive uploaded file and store temporarily. +- [ ] Compress video using H.265/HEVC with preset fast and CRF ~24. +- [ ] Use AAC audio codec at ~128kbps. +- [ ] Send compressed file back to frontend. +- [ ] Delete temporary files after download. + +## Intermediate + +### Issue 3: Frontend - Multiple File Uploads +**Description:** +Extend the frontend to allow uploading multiple files simultaneously. + +**Checklist:** +- [ ] Support selecting multiple files. +- [ ] Display individual progress bars for each file. +- [ ] Allow preset selection (codec, resolution, bitrate). + +### Issue 4: Backend - Asynchronous Multiple File Processing +**Description:** +Enable backend to handle multiple file uploads asynchronously. + +**Checklist:** +- [ ] Process multiple videos in parallel. +- [ ] Generate individual download links for each compressed file. +- [ ] Validate uploaded files to ensure they are videos only. + +## Advanced + +### Issue 5: Backend - Compression Job Queue +**Description:** +Implement a job queue to manage video compression tasks efficiently. + +**Checklist:** +- [ ] Queue video compression jobs. +- [ ] Limit concurrent compression tasks to prevent server overload. +- [ ] Track job status (pending, processing, complete). + +### Issue 6: Backend - User Authentication & File History +**Description:** +Add optional user accounts and allow users to track their uploaded videos. + +**Checklist:** +- [ ] Implement user registration and login. +- [ ] Track uploaded files per user. +- [ ] Allow users to download their file history. +- [ ] Auto-delete files after a configurable number of days. + +### Issue 7: Security Enhancements +**Description:** +Protect the server and users from misuse and unsafe uploads. + +**Checklist:** +- [ ] Sanitize filenames to avoid malicious paths. +- [ ] Reject non-video files. +- [ ] Enforce max file size limit. +- [ ] Ensure temporary files are stored in a safe directory. + +### Issue 8: Optional Features +**Description:** +Add advanced functionality to improve user experience. + +**Checklist:** +- [ ] Provide multiple compression presets (H.264 1080p, H.265 1440p). +- [ ] Integrate with NAS or external storage for long-term retention. +- [ ] Add public/private mode for uploaded files. +