Currently, eMTee Showdown solves one very specific problem: Help choose the next tv show to watch.
To do so, visiting /update
retrieves the content of a trakt.tv list containing seasons of tv shows. (There are some hardcoded sample shows so that it also works without a trakt.tv account for demonstration purposes.)
The retrieved seasons are then available at the /seasons
endpoint (shown here in dark mode). Everybody taking part in the choosing can select seasons to be added to the selection pool.
The /selection
endpoint will display all selected seasons as face-down cards than can be dismissed or chosen (shown here in light mode).
Sure. If I don't lose my drive. Some ideas can be found in the issues or in the release planning.
I am also thinking about user management, workflows, automatic selection modes and much more. If you have ideas, feel free to add them as an issue.
If everything goes real well, I also have some ideas to generalize this service to a universal decision-making helper by allowing to configure the use of arbitrary searches for the selections. We'll see.
To run, eMTee showdown needs the following properties:
- trakt.api-key from https://trakt.tv/oauth/applications/new
- trakt.bearer-token, see https://trakt.docs.apiary.io/#reference/authentication-devices (user authentication shall be integrated into this service in the future)
- trakt.user-name, so it knows where to look for the list
- trakt.list-name, so it knows which list to look for
You can provide these values in different ways, see https://quarkus.io/guides/config. One example to start it during development would be:
mvn -Dtrakt.api-key=XXXXXXXXXXXX "-Dtrakt.bearer-token=Bearer XXXXXXXXXXXX" -Dtrakt.user-name=emteeware -Dtrakt.list-name=test-is quarkus:dev
This project uses Quarkus, the Supersonic Subatomic Java Framework.
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ .
You can run your application in dev mode that enables live coding using:
./mvnw quarkus:dev
The application is packageable using ./mvnw package
.
It produces the executable emtee-showdown-0.1-SNAPSHOT-runner.jar
file in /target
directory.
Be aware that it’s not an über-jar as the dependencies are copied into the target/lib
directory.
The application is now runnable using java -jar target/emtee-showdown-0.1-SNAPSHOT-runner.jar
.
You can create a native executable using: ./mvnw package -Pnative
.
Or you can use Docker to build the native executable using: ./mvnw package -Pnative -Dquarkus.native.container-build=true
.
You can then execute your binary: ./target/emtee-showdown-0.1-SNAPSHOT-runner
If you want to learn more about building native executables, please consult https://quarkus.io/guides/building-native-image-guide .