feat(product): implement sprint 9 product engagement module

This commit is contained in:
sdarbinyan
2026-07-09 00:45:36 +04:00
parent 10251f2fc6
commit 3ef0bd711d
59 changed files with 2060 additions and 74 deletions

View File

@@ -8,6 +8,7 @@
- Выдача bootstrap.json для tenant.
- API категорий, товаров, карточек, поисковых выборок.
- Выдача навигации, статических страниц и feature flags.
- Product Engagement API для рейтинга, отзывов и вопросов.
### Контракт статических страниц
Backend должен поддерживать формат:
@@ -26,8 +27,19 @@ Backend должен поддерживать формат:
- Bootstrap контракт со schemaVersion.
- Категории: id/title/parentId/visible/priority.
- Товары: itemID/name/price/currency/categoryID/visible.
- Product Engagement:
- RatingSummary (average, totalReviews, distribution)
- Review (id, rating, text, createdAt, author)
- Question (id, text, createdAt, answers)
- Унифицированный формат ошибок API.
## Обязательные Product Engagement endpoints
- GET /products/{id}/rating
- GET /products/{id}/reviews?page={n}&pageSize={n}
- GET /products/{id}/questions?page={n}&pageSize={n}
- POST /products/{id}/reviews
- POST /products/{id}/questions
## Опциональные JSON-контракты
- Персонализированные рекомендации.
- Расширенные facets/filters.