Uploadify is a web application designed to streamline the video editing and uploading process for YouTubers. The platform allows YouTubers to upload raw videos, assign editors for video editing, and easily manage the entire workflow, from video upload to final upload on the YouTube channel.
- Raw Video Upload: YouTubers can upload raw video files to an S3 bucket cloud storage
- Editor Assignment: YouTubers can assign an editor's email to a video for editing
- Download Videos for Editing: Editors can download raw videos from cloud storage to their device for editing
- Video Editing: Editors can edit videos offline and reupload them once completed
- Video Verification: After editing, YouTubers can verify the videos before final uploading
- Direct Upload to YouTube: After verification, videos are automatically uploaded to the YouTuber's channel using the YouTube Data API
- Authentication: OAuth authentication via Google Cloud Console for secure logins
- Frontend: React (with Tailwind CSS)
- Backend: MERN Stack (MongoDB, Express.js, React, Node.js)
- Storage: Amazon S3
- Authentication: Google OAuth
- Video Upload: YouTube Data API
- Node.js
- MongoDB
- Google Cloud Console for OAuth setup
- YouTube API access
-
Clone the repository:
git clone https://github.com/yourusername/uploadify.git cd uploadify -
Install dependencies:
cd Frontend npm install -
Start the frontend development server:
npm run dev
-
Navigate to the backend directory:
cd ../server -
Install dependencies:
npm install
-
Create a
.envfile and configure the following environment variables:PORT=5000 MONGO_URI=your_mongodb_connection_string AWS_ACCESS_KEY=your_aws_access_key AWS_SECRET_KEY=your_aws_secret_key S3_BUCKET_NAME=your_bucket_name GOOGLE_CLIENT_ID=your_google_client_id GOOGLE_CLIENT_SECRET=your_google_client_secret YOUTUBE_API_KEY=your_youtube_api_key
-
Start the backend server:
npm run dev
uploadify/
├── client/ # React frontend
│ ├── src/
│ ├── public/
│ └── ...
├── server/ # Node.js + Express backend
│ ├── controllers/
│ ├── routes/
│ ├── services/
│ └── ...
└── README.md
If applicable, add screenshots or GIFs demonstrating your project:
- Upload: YouTubers upload raw videos which are stored in an S3 bucket
- Assign: The video is assigned to an editor using their email address
- Download/Edit: The editor downloads the raw video, edits it offline, and reuploads the edited video
- Verify: The YouTuber verifies the final edit
- Upload to YouTube: Upon verification, the video is uploaded directly to the YouTube channel using the YouTube Data API
- Large video files may take time to upload/download without high-speed internet
- Mobile support for video editing is not yet implemented
We welcome contributions!
To contribute:
- Fork the repository
- Create a new branch:
git checkout -b feature-name - Make your changes and commit them
- Push to your fork:
git push origin feature-name - Submit a pull request
This project is licensed under the MIT License. See the LICENSE file for details.
- Amazon Web Services (S3)
- YouTube Data API
- Google OAuth 2.0
- MongoDB




