Turned the API system into a dynamic capacity and with that added functionality for TheGamesDb, IGDB and MobyGames. Additionally the application ships with API Keys embedded into the source code so we wont be bothering our users with it.
But they aren't prevented from doing so. There has been added configuration slots for custom API keys in the config files, and the code properly reads and uses a custom api key, should they be present. But there is no way for the user to actually configure them through our current UI.
Lastly: as a security measure the API keys plaintext has been encrypted in the source, for the purpose of deterring the casual user, but not the determined hacker.
In the future we should consider is how the API's are prioritized? My current solution is use the first in the list and if it fails move to the next. This is the simplest possible solution. For future we should make it more intelligent. Examples:
If a user user has their own API key our application should always leverage that.
API's behave very differently across the globe. For example GiantBomb is unavailable in China #1783829 and thus Spectabis should realize that and automatically move such failing API's further down the list.
Finally create a UI list so the user can see and change the API's order. And make this the same UI where you can enter custom API keys.
Turned the API system into a dynamic capacity and with that added functionality for TheGamesDb, IGDB and MobyGames. Additionally the application ships with API Keys embedded into the source code so we wont be bothering our users with it.
But they aren't prevented from doing so. There has been added configuration slots for custom API keys in the config files, and the code properly reads and uses a custom api key, should they be present. But there is no way for the user to actually configure them through our current UI.
Lastly: as a security measure the API keys plaintext has been encrypted in the source, for the purpose of deterring the casual user, but not the determined hacker.
In the future we should consider is how the API's are prioritized? My current solution is use the first in the list and if it fails move to the next. This is the simplest possible solution. For future we should make it more intelligent. Examples:
That should be all. Any issues, light me up!