knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "man/figures/README-", out.width = "100%" )
Just a packaged shiny app relying on {tRakt} to get data out of https://trakt.tv and display it nicely.
You can find it currently deployed at attrakttv.tadaa-data.de.
Please open an issue if you encounter crashes.
You can install the latest version of attrakttv from GitHub:
remotes::install("jemus42/attrakttv")
The app needs both credentials for the trakt.tv and the fanart.tv API, see attrakttv.env-sample
for reference. Plug in your keys and either rename the file to .Renviron
in the current working directory or copy these values to your user/global .Renviron
.
Then you can call attrakttv::attrakttv_app()
and try to add a show, which will then hopefully open a browser window displaying a trakt.tv PIN for you to enter at the R console.
You can also achieve this by calling any data-retrieving function from the {tRakt}
package.
The the downloaded show data is stored in a SQLite database located under ~/.local/attrakttv/db/tRakt.db
by default, but you can change that value via the aforementioned configuration file.
Since this thing requires API keys for both https://trakt.tv and https://fanart.tv, you'll need to create accounts and get credentials for those first.
Copy the file via cp attrakttv.env-sample attrakttv.env
and plug in your values.
Next you'll need to create a {httr}
OAuth2 token. The easiest way is to call some function from {tRakt}
that uses the trakt.tv API (e.g. tRakt::search_query("Counterpart")
) which will then prompt you for an authentication PIN and open a corresponding browser window. Once set up, the token should be located at .httr-oauth
.
Once both attrakttv.env
and .httr-oauth
you can run
docker build -t attrakttv . docker run --rm -p 3838:3838 --run-as=shiny attrakttv
And the app will be running at localhost:3838
.
Note that currently the SQLite database is ephemeral.
You can use docker-compose
with the included docker-compose.yml
which will put the database in a volume called trakt_db
. This is mapped to a local volume you have to define via environment variable set in .env
, so cp .env-sample .env
and plug in your desired path (which must exist).
Regarding the volume thing: This was helpful
Please note that the 'attrakttv' project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.