Project Title: Secure Video Approval Portal with Analytics & Collaborative Review
Project Overview We need a web application that allows content creators (YouTubers) to collaborate with video editors without sharing direct access to their YouTube channel. The platform will include:
Secure video uploads and approval workflows.
Collaborative timestamped feedback (text, drawings, images).
Analytics dashboard to track video performance (views, comments) after publishing.
Key Features
User Roles Admin (YouTuber):
Log in via Google OAuth.
Review videos, add timestamped feedback, approve/reject uploads.
View analytics (views, comments, likes) for published videos.
Editor:
Log in with email/password or invite link.
Upload videos to AWS S3, address feedback, and re-upload revisions.
Receive real-time notifications for new feedback.
Core Workflow Editor Upload:
Upload videos to AWS S3 via signed URLs.
Video metadata (title, status) stored in MongoDB.
YouTuber Review:
Watch video, add feedback at specific timestamps.
Use a whiteboard/canvas for annotations.
Editor Revisions:
Address feedback and re-upload revised videos.
Final Approval & Upload:
YouTuber approves video → auto-upload to YouTube via YouTube API.
Post-Publish Analytics:
View views, comments, and engagement metrics for published videos.
Analytics Dashboard Display real-time stats (views, likes, shares) using the YouTube Data API.
Show latest comments with timestamps and author details.
Optional: Export analytics to CSV/PDF.
Technical Requirements Frontend: React.js with Tailwind CSS for UI.
Video Player: ReactPlayer or Video.js for playback and timestamp selection.
Annotation Canvas: fabric.js or Excalidraw for drawing/text/images.
Real-Time Notifications: Socket.io for editor alerts.
Backend: Node.js/Express.js for REST APIs.
MongoDB for storing video metadata, feedback, and user data.
AWS S3 for video storage (signed URLs for direct uploads).
YouTube API for video uploads and analytics.
Google OAuth 2.0 for YouTuber authentication.
Security: Encrypt sensitive data (OAuth tokens, AWS keys).
Use HTTPS for all API calls.
Restrict AWS S3 bucket permissions.