Closed Bisaloo closed 2 months ago
My main considerations at this time:
For front-end purposes, keeping API calls contained to one call per query is incredibly helpful (you wouldn't believe how nested some APIs get!).
Front-end calls could look like api.epiverse.org/query="how to estimate outbreak probability of dengue in colombia in next three months"&filter="epiverse"
(versioned could look like api.epiverse.org/v1/query[...]
)
This could provide the response:
{
query: "how to estimate outbreak probability of dengue in colombia in next three months",
filter: "epiverse",
response: {
text: "In order to estimate the outbreak probability of dengue in Colombia in the next three months, you can use the following Epiverse packages"
results: [
{
package: "epidemics",
documentation: "https://epiverse-trace.github.io/epidemics",
source: "https://github.com/epiverse-trace/epidemics",
example: "vignette URL"
relevance: 0.987
},
{
package: "finalsize",
documentation: "https://epiverse-trace.github.io/finalsize",
source: "https://github.com/epiverse-trace/finalsize",
example: "vignette URL"
relevance: 0.643
}
]
}
}
This is only a working example and does not necessarily reflect well defined needs yet.
To keep the architecture modular and not constrain too much the possibilities from either, it's likely we will have to implement an API in the back-end to communicate with the front-end.
Is there any specific early design considerations here impacting other pieces of the work?