feat(platform): sprint 11.5 standardization
Some checks failed
Architecture Governance / architecture (push) Has been cancelled

This commit is contained in:
sdarbinyan
2026-07-09 02:29:12 +04:00
parent a16c856537
commit 8d652c8259
57 changed files with 2162 additions and 848 deletions

View File

@@ -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