/ShowTractor

A TV show tracker program with highly extensible components that enables media download, IMDB integration, and more.

Primary LanguageC#

Logo

ShowTractor

A TV show tracker program with highly extensible components that enables media download, IMDB integration, and more. The main motivation over existing products are

  1. One day, Episodecalendar.com was down, and I couldn't see which TV show I should watch until the next day.
  2. This runs absolutely locally with complete control over user data.
  3. Do not depend on the availability of cloud-based products.

Having a software that can run independtly of the cloud shouldn't be that big of a ask. But in 2020, there are no viable TV show tracker that does't run on the cloud.

Technologies used

  1. WinUI 3 (Windows App SDK 1.0)
  2. C# 9
  3. .NET 6 and .NET Standard 2.1
  4. EntityFramework Core
  5. SQLite

Build and run

Open Solution in Visual Studio 2022. F5

Requirements

  • Metadata Provider Plugin
    • A System that allows plugins to search for TV show metadata. Data Must include title, description, whether a season is a finale, list of all episode, air date and time of each episode, title of each episode, description of each episode.
    • Built-in Metadata Provider Plugin
      • TMDB
      • IMDB
  • Rating Source Plugin
    • Be able to view ratings from a Rating Source plugin.
    • Be able to set IMDB ratings if supported.
    • Built-in Rating Source plugin
      • IMDB
      • Metacritic
  • Download Source Plugin
    • A system that allows plugins to start downloading given a TV Episode.
    • A suggested download folder can be provided to the plugin but need not be honored by the plugin.
    • User can select from a list of download options.
    • A default resolution can be configured. Options are, 4K, 1080p, 720p, SD.
    • Downloaded file can be watched by the built-in media player or passed to another plugin for playback.
    • A local file download source plugin that discovers media files in a specified folder and make them available for a Media Player Plugin.
  • Media Player Plugin
    • A system that allows plugins to stream episodes, or play downloaded media.
    • Built-in Media Player Plugin
      • Amazon Prime Video Streaming
      • Showtime Streaming
      • Local file playback of downloaded media
        • HEVC, AAC support.
        • MP4, MKV support.
    • Remember playback position.
  • TV Show Browser
    • Shall display TV shows with Artwork images.
    • Shall display all information obtained in 2.
    • Rate a show or episode with a Rating Source.
    • Display all unwatched episodes in one view.
    • Display all followed episodes in a calendar view.
    • Calendar item should indicate if an episode is watched.
    • Add TV Show to followed shows from search result.
    • Subscribe to new season when they become available.
  • Miscellaneous
    • Archiving shows that are no longer active, so that they do not clutter the view.
    • Download progress shall be displayed.
    • Cleanup rules can be specified to delete downloaded files.
    • Automatic download can be configured.