AOSSIE-Org / AOSSIE-Org/OrgExplorer

[FEATURE] : Implement Debounced GitHub Organization Autocomplete with Keyboard Navigation

Ouverte
#141 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement
Langage dominant
JavaScript
Étoiles
34
Forks
92
Merge moyen
8 j 7 h
PR mergées (30 j)
12

Description

## Feature and its Use Cases

Improve the GitHub organization search experience on the Home page by introducing a production-ready autocomplete dropdown.

Currently, users need to type the complete organization name before starting an analysis. This can be slow, error-prone, and inconvenient, especially for organizations with long names.

## Proposed Improvements

- Add a debounced search to reduce unnecessary GitHub API requests while typing.
- Fetch matching GitHub organizations dynamically using the GitHub Search API.
- Display up to 7–8 relevant organization suggestions in a dropdown below the search input.
- Display each suggestion with:
- Organization avatar
- Organization login/name
- Support keyboard navigation:
- Arrow Down → Move to the next suggestion.
- Arrow Up → Move to the previous suggestion.
- Enter → Select the highlighted suggestion.
- Allow users to select an organization using the mouse.
- Highlight the currently selected suggestion during keyboard navigation.
- Show a loading state while fetching suggestions.
- Show an empty state when no matching organizations are found.
- Ignore very short queries (e.g., fewer than 2 characters) to minimize unnecessary API requests.
- Prevent duplicate suggestions from appearing.
- Ensure the autocomplete integrates smoothly with the existing chip-based organization selection workflow.

## Benefits

- Faster organization search.
- Improved user experience.
- Reduced typing effort.
- Fewer spelling mistakes.
- Lower GitHub API usage through debouncing.
- Better accessibility with full keyboard support.
- Production-ready and responsive search experience.

## Expected Outcome

Users should receive relevant GitHub organization suggestions while typing, navigate the dropdown using both keyboard and mouse, and quickly select an organization without entering the full name manually. The implementation should be responsive, accessible, and optimized to minimize unnecessary API requests.

### Additional Context

### Suggested UI Behavior

- Suggestions should appear directly below the organization search input.
- Each suggestion should include the organization's avatar and login name.
- The active suggestion should be visually highlighted.
- The dropdown should close when:
- An organization is selected.
- The user clicks outside the search area.
- The input is cleared.
- The component should work well on both desktop and mobile devices.

### Code of Conduct

- [x] I have joined the [Discord server](https://discord.gg/hjUhu33uAn) and will post updates there
- [x] I have searched existing issues to avoid duplicates

If this feature is approved, I'd love to implement it. Kindly assign it to me if possible.

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Start at the Home page organization search input and trace the existing chip-based organization selection workflow and GitHub API integration. Check how the current input handles queries, then map the dropdown, debouncing, keyboard and mouse selection, loading, empty, duplicate, clearing, and outside-click states. Done means relevant suggestions appear accessibly and selection integrates with the existing workflow on desktop and mobile.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
github, javascript
Domaine
api, frontend
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
Plutôt claire
Accessibilité débutants
55/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.