Avis & notes — SYS-8 #12

Merged
tarzzan merged 1 commit from feat/sys-8-avis-notes into main 2026-05-30 15:12:52 +00:00
Owner

Résumé

Système d avis & notes pour SYS-8.

  • API : POST avis locataire (séjour COMPLETED), POST réponse loueur, GET liste + agrégat
  • Lib reviews splittée en reviews.ts (constantes/types, client-safe) et reviews-server.ts (Prisma)
  • Fiche carbet : note moyenne + nombre d avis + liste avec réponses loueur
  • Carte carbet : étoiles + note + compteur
  • Page /mes-reservations : liste des séjours du locataire avec formulaire d avis pour les séjours terminés

Règles métier

  • Un seul avis par réservation (@unique bookingId)
  • Seul le locataire (tenantId) peut noter, et uniquement si BookingStatus.COMPLETED
  • Note entière 1–5, commentaire ≤ 2000 caractères (optionnel)
  • Seul le propriétaire (ou ADMIN) peut répondre à un avis
  • Réponse ≤ 2000 caractères, non vide

Vérifications

  • npx tsc --noEmit : pas de nouvelle erreur (les 2 erreurs Stripe webhook sont préexistantes sur main)
  • npx next build : compilation OK, type-check échoue uniquement sur les mêmes 2 erreurs Stripe préexistantes
  • Pas d accès Postgres/MinIO dans cet env, donc tests e2e non exécutables localement

🤖 Generated with Claude Code

## Résumé Système d avis & notes pour SYS-8. - API : POST avis locataire (séjour COMPLETED), POST réponse loueur, GET liste + agrégat - Lib reviews splittée en `reviews.ts` (constantes/types, client-safe) et `reviews-server.ts` (Prisma) - Fiche carbet : note moyenne + nombre d avis + liste avec réponses loueur - Carte carbet : étoiles + note + compteur - Page `/mes-reservations` : liste des séjours du locataire avec formulaire d avis pour les séjours terminés ## Règles métier - Un seul avis par réservation (`@unique bookingId`) - Seul le locataire (`tenantId`) peut noter, et uniquement si `BookingStatus.COMPLETED` - Note entière 1–5, commentaire ≤ 2000 caractères (optionnel) - Seul le propriétaire (ou ADMIN) peut répondre à un avis - Réponse ≤ 2000 caractères, non vide ## Vérifications - `npx tsc --noEmit` : pas de nouvelle erreur (les 2 erreurs Stripe webhook sont préexistantes sur `main`) - `npx next build` : compilation OK, type-check échoue uniquement sur les mêmes 2 erreurs Stripe préexistantes - Pas d accès Postgres/MinIO dans cet env, donc tests e2e non exécutables localement 🤖 Generated with Claude Code
tarzzan added 1 commit 2026-05-30 15:09:29 +00:00
- Lib reviews: constants/types (client-safe) + DB helpers (server-only)
- API POST /api/bookings/[bookingId]/review : avis locataire après séjour COMPLETED
- API POST /api/reviews/[reviewId]/response : réponse loueur
- API GET /api/carbets/[carbetId]/reviews : liste + stats agrégées
- Fiche carbet : note moyenne + nombre d'avis + liste avec réponses loueur
- Carte carbet : étoiles + note moyenne + compteur
- /mes-reservations : formulaire d'avis pour les séjours terminés du locataire
tarzzan merged commit 8d36f7008f into main 2026-05-30 15:12:52 +00:00
tarzzan referenced this pull request from a commit 2026-05-30 15:12:53 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: tarzzan/karbe#12
No description provided.