GameDex
August 2, 2022 ยท View on GitHub
GameDex is an open source digital game collection management application, written in Kotlin and powered by TornadoFX & JFoenix
Download
You can download it or build it.
There is currently no tutorial.
Features
- Supports multiple game platforms - Windows, Linux, Mac, Android.
- Define folders as game libraries and sync them with online game database providers.
- The sync process automatically determines newly added games.
- Comes with a rich filter system that allows filtering games by various parameters and combining filters using boolean
and,or¬operators.- Can be used to create reports on your game collection.
- Supports IGDB.com, GiantBomb.com & OpenCritic as providers
- IGDB & GiantBomb require an account for an API key.
- Choose between a beautiful wall display or a functional list display.
- Add tags (labels) to games.
- Comes with a duplication detection tool.
- Supports updating game information from providers, so you always have the most up-to-date game information locally.
Build Distribution:
gradlew dist
Prerequisites: JDK 8 only, does not support any of the later JDKs.
The distribution will be under project root in dist folder
and will contain a standalone copy of your JRE.
You can copy the distribution anywhere you like, it's portable & self-contained.
Build Distribution with Installer
gradlew dist -Pinstaller on Windows.
It will generate a native windows setup file in app/javafx/gamedex-javafx-app/build/GameDex_{version}.exe
Run Distribution
On windows: dist\GameDex.exe
Run Demo Application
gradlew runDemo
The demo application is intended for development purposes, but you can use it to play around with GameDex without affecting any real world data. It generates a game database filled with randomly generated games and all providers are replaced with fake servers that emulate them.
You can also run the demo application from the IDE - app/javafx/gamedex-javafx-app/src/test/kotlin/com/gitlab/ykrasik/gamedex/javaf/TestApplication.kt
Run Tests
gradlew test
For tests to pass, you need to have the following entries in a gradle.properties file:
systemProp.gameDex.giantBomb.apiKey={yourApiKey}
systemProp.gameDex.igdb.clientId={yourClientId}
systemProp.gameDex.igdb.clientSecret={yourClientSecret}
This is because contract tests for providers require real credentials to work.
Maintenance Tasks
Check for library version updates
gradlew versions