rubyforgood / rubyforgood/awbw

Story Share portal: live search suggestions (autocomplete)

Open
#2,146 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement stories
Dominant language
Ruby
Stars
15
Forks
26
Avg merge
12h 42m
Merged PRs (30d)
242

Description

Context

The Story Share portal (/story_shares) navbar has a keyword search that submits to a full results page (?query=…). The live WordPress site (stories.awbw.org) additionally shows an AJAX live-suggestion dropdown (JetSearch) as you type, surfacing matching story titles before you submit.

What's needed

  • As-you-type suggestions below the portal search box: matching story titles (respecting the public/publicly_visible policy scope), each linking to the story.
  • Debounced requests to a lightweight JSON/Turbo-Stream endpoint on StorySharesController (or a small suggestions action), reusing Story.search_by_params/SearchCop.
  • Keyboard navigation (up/down/enter/escape) and outside-click dismiss; accessible (ARIA combobox/listbox).
  • Prefer Turbo (frame/stream) over bespoke JS where possible; a small Stimulus controller for debounce + keyboard handling is acceptable.
  • Must work on mobile (the portal search appears in the mobile menu too).

Notes

Plain submit-to-results search already ships in the portal-parity work; this issue is the progressive-enhancement layer on top.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start at the /story_shares navbar search and StorySharesController, then inspect the existing Story.search_by_params/SearchCop flow and the mobile-menu search. Add the progressive live-suggestion behavior with the stated visibility scope, keyboard and ARIA requirements, and verify that suggestions link to stories and work in both desktop and mobile search.

Written by the indexing model from the issue text.

Assessment

Tech stack
ruby
Domain
accessibility, backend, frontend
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.