-
Notifications
You must be signed in to change notification settings - Fork 29
Description
The new version of the Hyrule Compendium API will serve data on more than just the compendium entries. It will contain the following categories of data:
- in-game compendium (
/compendium) - geographical regions (
/regions) (Towns and Regions? #29) - recipes (
/recipes) (Recipe list #27)
The goal is to make this API more than just the compendium; it should be able to give data on all (or many) aspects of the game, not just the in-game items.
Recipes
Recipes will be divided based on their base ingredient (e.g seafood). Multi-dimensional arrays will be used to represent possible ingredients to tackle the problem of substitutable ingredients.
Possible example recipe response:
Map
Data on each region, including encompassed shrines and settlements, will be provided.
- Breath of the Wild regions
- Tears of the Kingdom regions
Compendium
- The compendium entries will have a field
dlcthat specifies if it is a master-mode exclusive. The/master_modeendpoint will remain to avoid ID conflicts. - The
foodandnon_foodkeys in the creatures category response will be removed. Each creature entry will have a boolean propertyedibleinstead. -
/all(endpoint to get all entries) will not have keys for each category. -
attackanddefensekeys of items of theequipmentcategory will be nested in thepropertieskey like so:
{
// ...
"properties": {
"attack": 14,
"defense": 0
}- Tears of the Kingdom entries (by setting
?game=totkor?game=2) (Do you plan on updating this API for Tears of the Kingdom #36) - Tears of the Kingdom images
Code Changes
These changes will not affect the usage of the API. It will improve performance and clean up code.
- Separate branches for API versions
- Use Flask blueprints instead of
Flask().add_url_rule - Improve queries to reduce API latency
- Instead of executing multiple queries, using
UNIONis a better solution
- Instead of executing multiple queries, using
- Create staging app to test changes
Additional Tasks
- Documentation
Feel free to chime in on this thread.
{ "name": "meat and rice bowl", "image": "https://botw-compendium.herokuapp.com/api/v3/recipes/recipe/meat-and-rice-bowl", "category": "meat", "hearts_recovered": 4.0, // hearts recovered from consumption "ingredients": [["raw meat", "raw bird drumstick"], ["rock salt"], ["hylian rice"]] // array of arrays, each inner array represents possible ingredients "effect": "attack", // enhancing effect of dish (empty if none) "duration": 60, // duration of effect in seconds (0 if no effect) }