ujusum:1-implantation:10-messagerie-notifications
Table des matières
Sprint 9 — Messagerie & Notifications
Objectif du Sprint
Mettre en place un centre de communication unifié couvrant l'ensemble des échanges entre :
- Clients
- Propriétaires
- Gestionnaires
- Commerciaux
- Administrateurs
À l'issue du Sprint 9 :
- Une messagerie interne est disponible
- Les emails transactionnels sont automatisés
- Les SMS transactionnels sont opérationnels
- Les notifications temps réel sont centralisées
- Les modèles de communication sont administrables
- Les campagnes marketing sont gérées depuis la plateforme
Ce sprint transforme la plateforme en outil omnicanal de communication.
Périmètre
Modules concernés
MessagingModule NotificationsModule EmailModule SmsModule TemplatesModule CampaignsModule RealtimeModule
Workflow global
Événement métier ↓ Notification Engine ↓ Email SMS Notification In-App WebSocket ↓ Historisation
User Stories
US-901 : Envoyer un message interne
En tant qu'utilisateur
Je souhaite envoyer un message
Afin d'échanger avec l'agence.
Endpoint
POST /messages
Données
Destinataire Sujet Message Pièces jointes
US-902 : Consulter ses conversations
Endpoint
GET /messages/conversations
Informations
Participants Dernier message Date Nombre non lus
US-903 : Répondre à une conversation
Endpoint
POST /messages/conversations/{id}/messages
US-904 : Joindre un document
Types
PDF Image Document bureautique
Taille maximale
20 Mo
Emails transactionnels
US-905 : Notification réservation
Déclencheur
ReservationCreated
Destinataires
Client Agence Propriétaire
US-906 : Notification contrat
Déclencheur
ContractGenerated ContractSigned
US-907 : Notification paiement
Déclencheur
PaymentSucceeded PaymentFailed RefundIssued
SMS transactionnels
US-908 : Envoyer un SMS
Cas d'usage
Confirmation réservation Rappel arrivée Paiement en attente Signature en attente
Fournisseurs
Twilio OVH SMS SMSFactor
Notifications temps réel
US-909 : Notification In-App
Endpoint
GET /notifications
Types
INFO SUCCESS WARNING ERROR
US-910 : Marquer comme lu
Endpoint
POST /notifications/{id}/read
US-911 : Notifications WebSocket
Événements
Nouveau message Nouveau contrat Paiement reçu Nouvelle réservation
Templates
US-912 : Créer un template
Endpoint
POST /templates
Canaux
EMAIL SMS PUSH
Variables
{{customer_name}}
{{property_name}}
{{reservation_number}}
{{amount}}
US-913 : Prévisualiser un template
Endpoint
POST /templates/preview
Campagnes Marketing
US-914 : Créer une campagne
Endpoint
POST /campaigns
Types
EMAIL SMS
Cibles
Clients Prospects Propriétaires
US-915 : Programmer une campagne
Planification
Date Heure Fuseau horaire
Historique des communications
US-916 : Consulter l'historique
Endpoint
GET /communications/history
Filtres
Utilisateur Canal Date Statut
Préférences de communication
US-917 : Paramétrer les notifications
Endpoint
PUT /users/me/notification-settings
Paramètres
Email SMS Push Marketing Réservations Paiements Contrats
Modèle Prisma
Conversation
model Conversation {
id String @id @default(uuid())
subject String?
createdAt DateTime @default(now())
}
Message
model Message {
id String @id @default(uuid())
conversationId String
senderId String
content String
createdAt DateTime @default(now())
}
Notification
model Notification {
id String @id @default(uuid())
userId String
type String
title String
message String
isRead Boolean @default(false)
createdAt DateTime @default(now())
}
Template
model Template {
id String @id @default(uuid())
name String
channel String
subject String?
content String
active Boolean
}
Campaign
model Campaign {
id String @id @default(uuid())
name String
channel String
scheduledAt DateTime?
status String
}
Architecture Backend
src/modules/communications ├── messaging │ ├── notifications │ ├── email │ ├── sms │ ├── templates │ ├── campaigns │ └── realtime
Domain Services
MessagingService NotificationService EmailService SmsService TemplateService CampaignService RealtimeService
Événements métier
MessageSent
MessageSent
NotificationCreated
NotificationCreated
EmailSent
EmailSent
SmsSent
SmsSent
CampaignExecuted
CampaignExecuted
Intégrations externes
Resend SendGrid Mailjet
SMS
Twilio OVH SMS SMSFactor
Temps réel
Socket.IO WebSocket Gateway NestJS
Swagger
Tags
Messaging Notifications Templates Campaigns Emails Sms
Volume API
Environ :
35 endpoints
Frontend
Pages
/messages /messages/[id] /notifications /templates /campaigns /campaigns/[id]
Composants
MessageCenter ConversationList NotificationBell NotificationCenter TemplateEditor CampaignScheduler
Dashboard Communication
KPIs
Messages envoyés Emails envoyés SMS envoyés Taux ouverture Taux clic Campagnes actives
Tests
Unitaires
MessagingService NotificationService EmailService SmsService CampaignService
Intégration
Réservation ↓ Notification ↓ Email ↓ Historisation
E2E
Création réservation ↓ Notification automatique ↓ Email envoyé ↓ SMS envoyé ↓ Consultation historique
Définition de terminé
Le Sprint 9 est terminé lorsque :
- Messagerie interne opérationnelle
- Emails transactionnels opérationnels
- SMS opérationnels
- Notifications opérationnelles
- Templates opérationnels
- Campagnes opérationnelles
- Temps réel opérationnel
- Swagger à jour
- Tests verts
- CI verte
Livrables
- MessagingModule
- NotificationsModule
- EmailModule
- SmsModule
- TemplatesModule
- CampaignsModule
- RealtimeModule
- DTO
- Swagger
- Tests
- Migrations Prisma
Démonstration Sprint
Scénario métier :
1. Création réservation 2. Notification automatique 3. Envoi email 4. Envoi SMS 5. Message client 6. Réponse agence 7. Notification temps réel 8. Consultation historique
Bilan Release 1.3
À l'issue du Sprint 9 :
- CRM complet
- Communications centralisées
- Emails automatisés
- SMS automatisés
- Notifications temps réel
- Campagnes marketing
La plateforme couvre désormais l'ensemble du cycle relationnel avec les clients et les propriétaires.
Sprint suivant
Sprint 10 — Reporting & Business Intelligence
Objectif :
Fournir aux directions et gestionnaires les indicateurs de pilotage de l'activité.
Modules concernés :
ReportingModule DashboardModule AnalyticsModule ExportsModule ForecastModule
Fonctionnalités :
- Tableaux de bord
- KPI financiers
- KPI commerciaux
- KPI d'occupation
- Exports Excel/PDF
- Prévisions de revenus
- Statistiques propriétaires
- Statistiques biens
À l'issue du Sprint 10, la plateforme disposera d'une couche décisionnelle complète permettant le pilotage de l'agence.
ujusum/1-implantation/10-messagerie-notifications.txt · Dernière modification : 2026/06/06 03:19 de 91.170.108.99