elixir-cloud-aai / web-components

GA4GH Web components are the reusable custom elements that can be utilized in your web apps & web pages independently irrespective of what framework/library you are using to build the frontend.
https://web-components-beta.vercel.app/
MIT License
6 stars 6 forks source link

Component: DRS-Filer client #32

Open uniqueg opened 2 years ago

uniqueg commented 2 years ago

Is your feature request related to a problem? Please describe.

The GA4GH Data Repositoryy Service (DRS) API specification allows resolving and accessing data objects in a uniform manner.

DRS-Filer is a lightweight implementation of DRS that is not bound to any particular data source. Apart from the endpoints defined by DRS, it also specifies corresponding POST, PUT and DELETE endpoints, so that it can be used to register data. As such, it can be used (1) as a DRS-compatible shim around an existing data repository/registry, and (2) as a backend for storing metadata and minting DRS URIs for data objects managed by a web portal operationalizing GA4GH Cloud APIs, such as Krini.

Describe the solution you'd like

Implement a Web Component client for DRS-Filer that serves both of the above-mentioned use cases. Note that this may require the use/packaging of multiple reusable child components or the reuse of already exisiting ones. Before starting the implementation, please draft a brief design proposal. Also think how this component might interact with the component in #33 in a web portal that supports upload/import of actual data and then registers the corresponding metadata in DRS-Filer and mints DRS URIs. Note that the component should also work with any spec-compliant DRS implementation - that is, functionalities only available in DRS-Filer should be optional.