Skip to content
/ zetube Public

A YouTube client for enjoying videos without distractions.

License

Notifications You must be signed in to change notification settings

tuvakov/zetube

Repository files navigation

ZeTube

A YouTube client app that shows videos from only user's subscriptions. The app enables the user to watch YouTube videos without distractions such as recommendations, comments, etc. that can lead into a deep rabbit hole. All data is stored locally, no back-end is involved.

Animated Screenshot

How it works

After necessary permission (Contacts) is granted, the app fetches only last 7 days' videos for each channel in the user's subscription list. The user can navigate different sections of the app via a navigation bar in the left.
Synchronization is allowed after 3 hours from the last synchronization. Older videos are deleted during the synchronization. However, the user can save videos to prevent them being deleted during the synchronization (refer to above screenshot).
All stored data can be deleted via delete button on the right top corner of the screen.

Getting started

To further customize the app:

  1. Download or clone this repository.
  2. Change the package name (ApplicationId) of the project.
  3. Make a new Google oAuth credentials for the app to fetch YouTube data. Link to the guide page.
  4. Build and test the project.

Libraries used

  • JetPack

    • LiveData - Build a observable and lifecycle-aware data objects for UI-related purposes.
    • ViewModel - Store UI-related data and protect from configuration changes.
    • Room - ORM that manages Sqlite DB without boilerplate code and well integrated with other JetPack libraries.
  • Others

About

A YouTube client for enjoying videos without distractions.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published