Skip to content

Feature: add-ons for using data (APIs and database backends) #49

Description

@sc0ttj

Add-ons for managing data and APIs

Component needs an easy way of importing, querying, saving, and syncing external data.

The benefits of easily managing external data:

  • access large datasets
  • auto updating data, triggers re-render
  • querying data for custom results
  • saving/retrieving persistent data
  • syncing data between page users

External data could be:

  • third party APIs
  • "flat file" content (JSON files, etc)
  • databases
  • distributed P2P data stored or held by all users of a page

Add-ons related to external data handling could be:

  • a useURL add-on, for URL (query string and hash path) data, based on sc0ttj/router
  • a useAPI or useQuery add-on for accessing third party APIs/endpoints, based on fetch
  • a useDatabase add-on for saving/retreiving component data to/from a persistent database backend

The add-ons should enable the following, with simple, concise code:

  • use same code in Node and Browser
  • fetch, parse and cache data
  • handle login and auth stuff
  • save data to a persistent store
  • real-time updating of data (triggering page re-renders)
  • syncing data for real-time interactions/collaboration between multiple users on a page

Other Libraries

Data from page URL (inc query strings and hash path):

  • sc0ttj/router - steal code from it, to save state as URL query string

Fetching from third-party APIs:

Persistent data stores, with P2P data syncing:

Persistent data stores:

Non-persistent data stores, with P2P data syncing:

Others:

"In-memory" only databases (no backend, no collab):

Reading

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions