Go to file
2020-08-24 14:58:10 +01:00
_icons
_scripts
.github
.vscode
src
static Updated Portuguese translation. 2020-08-24 14:58:10 +01:00
.babelrc
.editorconfig
.eslintignore
.eslintrc.js
.gitignore
.prettierrc
.whitesource
appveyor.yml
LICENSE
package-lock.json
package.json
README.md
tsconfig.json

The FreeTube Vue.js Rewrite

FreeTube is an open source desktop YouTube player built with privacy in mind. This repository specifically is about a rewrite of FreeTube that is actively being worked on. FreeTube will be rewritten from the ground up to take advantage of better coding practices and to make proper use of Vue.js compared to the previous code base. You can read more about why a rewrite is in development over at the related blog post.

This version of FreeTube is not finished. It is in active development and a lot of features (Even ones that are already implemented in FreeTube) are missing. Almost all features are being remade.

Contributing

Since the code base is smaller and ever expanding. Now is a great time to get involved with contributing to FreeTube. There are a lot of things that need to be done right now and the more help we can get the better.

Check out the getting started page over on the wiki on how to get your environment setup. Since this is a rewrite, that means that there are things that we'd like to avoid to prevent the same issues from the old code base. Because of this, there are some coding standards that we'd like to keep while working on this rewrite.

Enough of the rewrite has been done to hopefully provide code examples of what we'd like to see moving forward. Just because standards are already made, it doesn't mean that I'm not open to suggestions for changing things. I would love to hear your thoughts on if you believe that something about our methods can be improved on.

What Needs to be Done?

Like I mentioned above, there are a lot of things that need to be done. I have created some issues over at the issues page to give a quick rundown on what needs to be done as well as what the requirements are in order for those issues to be considered complete. I will make more issues with more requirements as progress is made.

At this time, here is the list of things to do/need to do:

  • Setup App Environment
  • Basic App Structure and Layout
  • Video Layout (Along with Channel and Playlist Layout)
  • Search / Search View (Along with Filters)
  • Search Suggestions
  • Channel View
  • Channel Search
  • Trending Page
  • Most Popular Page
  • Playlist View
  • Video Watch Page (Recommendations, Comments)
  • Video player logic (Switching formats / quality, live video, fallback logic)
  • Playlist logic (Autoplay next video, shuffle list)
  • Database Setup and Logic (Updating and creating data)
  • Settings Page
  • Subscriptions Page and Logic
  • Playlists Page (Will allow for creating user playlists. Will replace the "Favorites" Page)
  • History Page and Logic
  • Profile Page and Logic
  • Misc. Adjustments and Settings
  • Packaging and Testing

This list is somewhat in order of when I plan on working on each thing. Obviously things can change and anyone is welcome to work on whatever they like.

I will add more things to do as progress gets made. For now what I have listed out should be more than enough.

Localization

Translation status

Want to help translate FreeTube into your native language? We're now accepting translations via Weblate! Click on the chart above to learn how to get involved.

Contact

To chat about the FreeTube rewrite or to ask questions, we encourage you to join our Matrix Community. I will be there actively working on the rewrite and will be available to help you get started. Alternatively, you can email me at FreeTubeApp@protonmail.com.

License

GNU AGPLv3 Image

FreeTube is Free Software: You can use, study share and improve it at your will. Specifically you can redistribute and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.