Outils pour utilisateurs

Outils du site


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

Email

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

DokuWiki Appliance - Powered by TurnKey Linux