This project is a collaboration platform that connects YouTubers with editors. It allows editors to edit videos and upload them through the platform, enabling a seamless workflow for content creation. The platform also handles the confirmation and publishing of videos to YouTube channels.
- YouTubers: Can create accounts to manage their collaborations and video uploads.
- Editors: Can create accounts to work on assigned projects.
- YouTubers can add editors to their account for video editing tasks.
- Editors can upload edited videos to the platform.
- Videos are temporarily stored in cloud storage.
- YouTubers receive a confirmation email (via Gmail) after a video is uploaded.
- On confirmation, the video and its metadata are automatically uploaded to the YouTube channel.
- Videos are deleted from cloud storage once successfully uploaded to the YouTube channel.
- React (with React Router DOM for routing)
- Tailwind CSS (for styling)
- Node.js (Express.js for API creation)
- Mongoose (for MongoDB database management)
- Cloud storage solution (e.g., AWS S3, Firebase, or Google Cloud Storage)
- Gmail API for sending confirmation emails.
- For video uploads and metadata handling.
- Node.js installed on your machine
- MongoDB database set up
- Access to Gmail API and YouTube API credentials
- Cloud storage configured
-
Clone the repository:
git clone https://github.com/your-repo-url.git cd project-directory
-
Install dependencies:
npm install
-
Set up environment variables: Create a
.env
file in the root directory and add the following:MONGO_URI=<your-mongodb-uri> GMAIL_API_KEY=<your-gmail-api-key> YOUTUBE_API_KEY=<your-youtube-api-key> CLOUD_STORAGE_KEY=<your-cloud-storage-key>
-
Start the server:
npm start
-
Run the frontend (if separate):
cd frontend npm start
POST /auth/register
: Register a new userPOST /auth/login
: Log in a user
POST /youtuber/add-editor
: Add an editor to a YouTuber's account
POST /editor/upload-video
: Upload an edited videoGET /youtuber/confirm-upload
: Confirm video upload and publish to YouTube
- Add a dashboard for tracking video progress.
- Introduce role-based notifications and reminders.
- Integrate payment options for editors.
- Fork the repository.
- Create a feature branch.
- Commit your changes.
- Open a pull request.
This project is licensed under the MIT License. See the LICENSE file for more details.