Skip to content

It is a platform for Youtubers to make their life easy

Notifications You must be signed in to change notification settings

Sayan67/Youtube-uploader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 

Repository files navigation

UTuberrr

Open Source Love svg1 PRs Welcome Visitors GitHub forks GitHub Repo stars GitHub contributors GitHub last commit GitHub repo size Github GitHub issues GitHub closed issues GitHub pull requests GitHub closed pull requests

What is UTuberrr. ?

It is a platform for Youtubers to make their life easy. But How? -Suppose you're an Youtuber and you're having a huge number of audience. But for content creation you lead a very busy schedule. It is next to impossible for you to edit your own videos and post it using proper Title, Description, Tags etc on Youtube. So you hire a person to edit your videos and upload it in your youtube channel. But for that you need to give the access of your channel to that person. But isn't it too much risky?? Yes of course!! He can do whatever he wants to do with your channel.

Here comes our platform UTuberrr.

Basically we provide a platform where you(Youtuber) and your service provider(Editor) where both can login. We(our server) will have the access of your Youtube channel(Which is safe by legal bounds). Now you do not need to give the access of your channel to your service provider(editor). He can directly upload the video in your Youtube channel using Title, Tags, Description etc. through our website. Our server will upload the video in your channel using YoutubeAPI. So it's Safe!



About us 💜

We are a platform that ensures security and facilitates access to one's YouTube channel that involves combining authentication, authorization, and management features to provide a secure and user-friendly experience for Youtube channel owners.

Features 🖥️

  1. We Provide secure upload, schedule, and manage video content in your Youtube channel directly from the platform by any service provider.
  2. Your channel credentials remain protected with us. The merchants don't get the access to those.
  3. The service provider choose,sets the thumbnail,Title, Description etc as per their words and uploads the video from our website to directly in your channel.
  4. One you Sign up your sign in credentials will be stored in our database.
  5. After that you can sign in with google easily.

Use ⚙️

Consumers dont need to invest themselves in uploading content,securing the internet,etc.Their merchants do it seamlessly for them that too without knowing their channel credentials!We provide you with that platform.

Overview 📖

We are a platform that empowers YouTube channel owners with robust security measures and convenient access management tools. Whether you're a solo content creator or manage a team of collaborators, we provide a seamless and secure environment for managing your YouTube channel effectively.

How to Run this project locally

  1. Clone the project (How to clone👉)(https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository)

  2. Navigate to the cloned repository in your local system.

  cd <Project folder name>
  1. Install dependencies
  npm install
  1. Connect your mongoDb Database.

    i) Navigate to the server folder ii) Replace the part 'Your MongoDB instance' part with your MongoDB instance. For reference👉 https://www.section.io/engineering-education/nodejs-mongoosejs-mongodb/

  2. Get your google client_id. For reference👉 https://developers.google.com/identity/gsi/web/guides/get-google-api-clientid

  3. Navigate to the file index.ejs in client/template/views/

  4. Replace 'YOUR GOOGLE CLIENT_ID' in 8th line with yoour google client_Id.

  5. Start the server Navigate to the server folder.

    cd ../../../server
  1. Start nodemon.
  nodemon app.js
  1. Open anhy browser : in address bar type -> localhost:3000/home and hit enter!

Congratulations you have done it!! 🎉

Challenges 🛠️

Creating this website was not really easy for us.We faced quite a few complications in the process some of which are:

  1. Creating a seameless responsive website that meets all the objectives was a rigourous job.
  2. Using Google's OAuth2.0 for the feature #sign in with google was a hectic task for us. Generating client id, client secrets and keeping track of them and binding the code blocks in proper place was a no doubt tough job for us.
  3. Connecting YoutubeAPIv3 and managing this complex backend server was the most difficult part though.

Upcoming Modifications to be added:

  • 1. We will properly integrate YoutubeAPI using token recieved through Google OAuth2.0.
  • 2. We have planned for another layer for protection and security to our consumers(Youtuber). In due time,we are going to modify our platform in such a way such that the consumer get a option to approve the upload after the service provider(Video editor) uploads the video to our website. The consumer gets a pop up in his/her dashboard, where he/she can see the Video, Title, Description, Tags and make sure it is the desired video and infos are correct. Only then the video gets uploaded from our server.
  • 3. Improve UI and UX
  • 4. Different UI for Clients and freelancer

Tech Stack

MongoDB Express.js

jQuery NPM

NodeJS Nodemon HTML5 CSS3

Ubuntu Windows 11

Google Visual Studio Code

GitHub Git

How to Contribute

  • Take a look at the Existing [Issues] or create your own!
  • Fork the Repo and create a Branch for any Issue that you are working upon.
  • Create a Pull Request which will be promptly reviewed and suggestions would be added to improve it.
  • Add Screenshots to help us know what this is all about.

How to make a Pull Request

1. Fork the repository by clicking on the Fork symbol at the top right corner.

2. Clone the forked repository.

   git clone https://github.com/<Your name>/Youtube-uploader.git

3. Navigate to the project directory.

   cd Youtube-uploader

4. Create a new branch:

   git checkout -b YourBranchName

5. Make changes in source code.

6. Stage your changes and commit

   git add .
   git commit -m "<your_commit_message>"

7. Push your local commits to the remote repo.

   git push origin YourBranchName

8. Create a PR

Note If anyone contributes to this repository, then the changes will not be reflected in your local repository. For that:

9. Setup a reference(remote) to the original repository to get all the changes from the remote.

   git remote add upstream https://github.com/<Your name>/Youtube-uploader.git

10. Check the remotes for this repository.

   git remote -v

11. Fetching from the remote repository will bring in its branches and their respective commits.

   git fetch upstream

12. Make sure that you're on your master branch.

   git checkout master

13. Now that we have fetched the upstream repository, we want to merge its changes into our local branch. This will bring that branch into sync with the upstream, without losing our local changes.

   git merge upstream/master

Work in Progress pull requests are also welcome to get feedback early on, or if there is something blocking you from working further.

Contributors ✨

Thanks goes to these wonderful people 💜


Sayan Das

🚧✍️🖥️

shinjini-bose

💻

Soumit Srimany

💻

Arghadip Manna

💻

Love from Kill-a-Byte team.❤️

MIT License