atomicdata-dev/atomic-data-browser

Search components & library abstractions

Opened this issue · 0 comments

Building a custom GUI for domain-specific search + filtering can be quite the hassle. Atomic Data and Atomic Server provide a few opportunities to make this process easier than ever.

  • Atomic-Server has full-text search built in. We don't need an extra elasticsearch application - it's fully embedded.
  • Atomic Schema allows for highly standardized descriptions of properties and data models, which can be used to generate filter attributes.

We should make it really easy for developers to build their own search app. This means:

  • Provide abstractions for managing search state and building queries. At its core, this is probably a .search method and a big searchOpts object.
    • For react, this means a new hook: useServerSearch
    • For svetelkit, this means a store.
  • Provide ready-to-use components. These should be stylable. Most important is generating filters based on a class definition.
  • They should work with atomic-data-browser, of course.

I've used a bunch of libraries in the past that offer similar features, such as searchkit and algolia's instantsearch that could provide some inspiration.