Watched a movie or a TV show? Log it in WordPress with Traktivity

in Cinema, Geek Inside, TV, WordPress

Do you watch a lot of movies or TV Shows? Do you have a WordPress site? You will love Traktivity!

This plugin allows you to log everything you watch inside your WordPress site. You may then use that data for anything you want.

You could display the last few shows you watched in a widget in your sidebar, you could automatically post on Facebook or Twitter whenever you are watching something, or you could just keep that data to find out more about the genres you watch the most, or how many hours you spent in front of the TV last month or last year.

Most importantly, that data is yours, saved in your WordPress site for good.

How it all works

The plugin relies on two third party services: Trakt.tv and TMDb.

Trakt.tv is where your activity first gets logged. Once you have created an account there, you will be able to link it to services like Plex or Netflix so you don’t have to manually enter shows you’re watching. You then link Trakt to the Traktivity plugin on your site and everything you watch will be recorded in your WordPress site from now on.

TMDb is a great service. Much like IMDb, it’s a place where the community gathers info about shows and movies. Once you link the Traktivity plugin to that service is will start grabbing images from all the things you’ve watched and store those in your Media Library.

Even movies are logged

Why are you talking about this now?

I released the first version of this plugin a few months ago. It originally only logged data. A few days ago I added a widget to the plugin, so it is now a lot more useful :)

You can take a look at a few pages on this very site for some examples. I blogged about The Expanse yesterday; here is how the show’s page looks like on my site:

I also created a brand new admin interface, with more information and a step by step guide to help folks configure the plugin.

As you can see this interface doesn’t look like a regular WordPress dashboard page. This was another challenge I gave myself with this release: I wanted to build a React interface inside the WordPress dashboard. No better exercise when you want to Learn JavaScript deeply :)

It’s been interesting to dive into this. Breaking out of WordPress’ Settings API to build my own admin screen took some work. It gives me a lot more flexibility to do things that users will appreciate, like a setup wizard when you first install the plugin. That also means you have to build everything from scratch, figure out how things will be stored, fetched, updated, and displayed.

I am happy with the result for now. I certainly learnt a lot!

I still have a lot of work to do though:

  • I’d like to make the interface as accessible as the default WordPress admin screens are.
  • I’m no designer so things look ugly :(
  • I’d like to add more stats and data to the main dashboard. It should become a place to go to get all kinds of stats about your TV addiction hobby. I would then be able to display that data in widgets as well.
  • I would like to start using Redux. I need the practice and I think the interface would benefit from it.
  • I need to figure out a better way to handle translatable strings. Passing them all from PHP to JS isn’t pretty, especially as the number of strings grows.
  • I haven’t really worked on making the components I built really exportable, so others can use them as well.
  • I still haven’t figured out routing inside the WP dashboard. I would like to have a couple of subpages inside the Traktivity dashboard in the future.

If you watch TV or go to cinema a lot, give my plugin a try and let me know what you think! If there are specific stats you’d like to be able to track and see, let me know!

Leave a Reply