Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Search middleware skeleton #4

Open
12 tasks
brehaut opened this issue May 31, 2016 · 1 comment
Open
12 tasks

Search middleware skeleton #4

brehaut opened this issue May 31, 2016 · 1 comment
Labels

Comments

@brehaut
Copy link
Contributor

brehaut commented May 31, 2016

Search is a major component of Adventure Lookup. The project will need middleware between the UI and backend APIs to coordinate requests and provide fast responses from caches.

This infrastructure will support all the different UIs users may use to search that may be built:

  • Simple search
  • Advanced search with a query builder UI
  • Advanced search with a parser UI

Tasks:

  • Define the schema for query messages to be sent to the server. Consider https://brehaut.net/media/files/search-proto/ as a starting point.
  • Skeleton web worker to act as middleware (dummy data initially, then pass through):
    • Build task for worker scripts.
    • Class to wrap up interacting with the worker for UI code to consume.
    • Messages that the middleware needs to support:
      • Search results for a given query.
      • All tags for a given tag stem across all facets.
      • All tags for a given tag stem across a specific facet.
      • All facet names for a given facet name stem.
  • Cache class for long term tag / facet storage.
    • Initally a dummy implementation.
    • IndexedDB datastore, probably using dexie.js as the API to the DB.

A later task will cover advanced features of caches and middleware such as 'sound alike' searches and synonyms.

@brehaut
Copy link
Contributor Author

brehaut commented May 31, 2016

CC: @brehaut

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant