feat(platform): sprint 11.5 standardization
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
Some checks failed
Architecture Governance / architecture (push) Has been cancelled
This commit is contained in:
@@ -215,3 +215,78 @@ Catalog spacing and controls were polished for desktop/tablet/mobile:
|
||||
- `src/app/i18n/hy.ts`
|
||||
- `src/app/i18n/translations.ts`
|
||||
- No hardcoded catalog UX strings were introduced for Sprint 10.2 additions.
|
||||
|
||||
## Sprint 11 Search & Discovery Engine
|
||||
|
||||
Sprint 11 introduces a reusable, backend-driven Search and Discovery architecture while preserving platform boundaries and existing domain models.
|
||||
|
||||
### Search Domain Models
|
||||
|
||||
Core search models were added under:
|
||||
|
||||
- `src/app/core/search/models/search.model.ts`
|
||||
- `src/app/core/search/models/search-state.model.ts`
|
||||
|
||||
Model coverage includes:
|
||||
|
||||
- `SearchQuery`
|
||||
- `SearchResult`
|
||||
- `FilterGroup`
|
||||
- `FilterOption`
|
||||
- `SortOption`
|
||||
- `SearchSuggestion`
|
||||
- `SearchHistory`
|
||||
- `SearchState`
|
||||
|
||||
### Search Entry Point
|
||||
|
||||
- `src/app/facades/platform/search.facade.ts`
|
||||
|
||||
`SearchFacade` is now the search orchestration entry point for the catalog UX and provides:
|
||||
|
||||
- backend catalog loading bridge for search query payloads
|
||||
- metadata-driven sort option generation
|
||||
- metadata-driven dynamic filter group generation
|
||||
- live suggestions generation
|
||||
- in-memory filter metadata memoization
|
||||
- reusable filtering, sorting, and pagination helpers
|
||||
- query param serialization/deserialization for URL synchronization
|
||||
|
||||
### History Service
|
||||
|
||||
- `src/app/core/search/services/search-history.service.ts`
|
||||
|
||||
Search history moved to a reusable core service with:
|
||||
|
||||
- recent search tracking
|
||||
- popular search support
|
||||
- clear/reset support
|
||||
|
||||
### Catalog UI Integration
|
||||
|
||||
Catalog UI now consumes Search domain metadata and state:
|
||||
|
||||
- `src/app/features/website/catalog/containers/catalog-container.component.ts`
|
||||
- `src/app/features/website/catalog/components/search-box/search-box.component.ts`
|
||||
- `src/app/features/website/catalog/components/filters-panel/filters-panel.component.ts`
|
||||
- `src/app/features/website/catalog/components/sorting-control/sorting-control.component.ts`
|
||||
|
||||
Implemented behaviors:
|
||||
|
||||
- live suggestions
|
||||
- recent + popular searches
|
||||
- keyboard navigation in search box (up/down/enter/escape)
|
||||
- clear search action
|
||||
- dynamic filters for checkbox, radio, toggle, range, slider, color, size, rating, availability
|
||||
- URL query synchronization with `SearchState`
|
||||
- page reload restore from query params
|
||||
|
||||
### Validation
|
||||
|
||||
Completed validation for Sprint 11 integration:
|
||||
|
||||
- `npm run build` passes successfully
|
||||
- facades remain the UI data boundary
|
||||
- no authentication changes
|
||||
- no payment changes
|
||||
- no bootstrap/runtime contract changes
|
||||
|
||||
Reference in New Issue
Block a user