ContentDash

Description

This web application connects with various media platforms to show live streams and recent videos via OAuth 2.0 connections

Technologies Used

  • Vite
  • React
  • TypeScript
  • DaisyUI
    • Tailwind
  • ESlint
    • Various plugins
  • Prettier
  • React Query
  • Axios
  • Zod

TODO

  • Twitch Integration
    • Show live followed channels
    • Be able to watch live in the page
  • YouTube Integration
    • videos from subscriptions
    • Figure out quota "costs"
    • automatically "refresh" the token if it is no longer good
    • Seperate live from VODs?

      This is not possible, as there is no differentiation between livestreams and videos

    • "Paginate" YouTube videos, showing 8 at a time
      • Figure out why the screen moves when loading the next videos
    • Be able to watch videos in the page
  • Filters on main page
    • Show/Hide providers
    • Filter YouTube Videos by Channel
  • Preferences Page
    • Integrations lists and other preferences
  • "FAQ" Page
    • Can't add Netflix, because there is no public API anymore
  • Update eslint config
  • Better loading indicators
  • Refactor as necessary to make it feel better to work through the repo

Notes

  • The YouTube API Quota usage should be ~27 units per page refresh
    • 1 unit to get subscribed channels
      • Currently fetches the most recently active 25 channels
    • 1 unit to get the uploads playlist from those channels
    • 1 (25 total) unit PER channel to get video information from those playlists
  • This means the application should be able to refresh subscription videos ~370 times before the daily quota is hit
    • This might either needs to be raised eventually, or see if there is a more quota efficient way to do this