Compléter le domaine Utilisateurs afin de disposer d'un référentiel utilisateur exploitable par tous les modules métiers.
À l'issue du Sprint 2 :
Ce sprint clôture le domaine Utilisateurs avant le démarrage du cœur métier immobilier.
UsersModule ProfilesModule DocumentsModule SessionsModule NotificationsModule
En tant qu'utilisateur
Je souhaite consulter mes informations
Afin de vérifier leur exactitude.
GET /users/me
PUT /users/me
Prénom Nom Téléphone Date de naissance Nationalité
GET /users/me/addresses
POST /users/me/addresses
PUT /users/me/addresses/{id}
DELETE /users/me/addresses/{id}
Adresse Complément Code Postal Ville Pays Adresse principale
Préparer la vérification d'identité.
IDENTITY_CARD PASSPORT DRIVING_LICENSE PROOF_OF_ADDRESS OTHER
POST /users/me/documents
GET /users/me/documents
PENDING UNDER_REVIEW VALIDATED REJECTED
POST /users/me/identity-verification
Intégration :
FranceConnect Onfido Stripe Identity
GET /users/me/sessions
Date Adresse IP Navigateur Pays Statut
DELETE /users/me/sessions/{id}
GET /users/me/login-history
Date IP Navigateur Résultat Pays
GET /users/me/preferences PUT /users/me/preferences
Langue Fuseau horaire Devise Format date Format heure
GET /users/me/notification-settings PUT /users/me/notification-settings
Email SMS Push Marketing Paiements Réservations Contrats
model UserAddress {
id String @id @default(uuid())
userId String
address1 String
address2 String?
postalCode String
city String
country String
isDefault Boolean @default(false)
user User @relation(
fields: [userId],
references: [id]
)
}
model UserDocument {
id String @id @default(uuid())
userId String
documentType String
fileName String
storagePath String
status String
uploadedAt DateTime
}
model UserSession {
id String @id @default(uuid())
userId String
refreshToken String
ipAddress String
userAgent String
expiresAt DateTime
}
model LoginHistory {
id String @id @default(uuid())
userId String
ipAddress String
userAgent String
success Boolean
createdAt DateTime
}
model UserPreference {
id String @id @default(uuid())
userId String @unique
language String
timezone String
currency String
}
src/modules/users ├── profile │ ├── addresses │ ├── documents │ ├── sessions │ ├── preferences │ ├── notifications │ └── login-history
Profiles Addresses Documents Sessions Preferences Notifications
Environ :
20 endpoints REST
/profile /profile/personal /profile/addresses /profile/documents /profile/preferences /profile/security /profile/sessions
ProfileCard AddressForm DocumentUploader SessionTable PreferencesForm NotificationSettings
UserProfileService AddressService DocumentService SessionService
Upload document ↓ Consultation document ↓ Suppression document
Login ↓ Modifier profil ↓ Ajouter adresse ↓ Uploader document ↓ Modifier préférences ↓ Consulter sessions
Le Sprint 2 est terminé lorsque :
Scénario complet :
1. Création compte 2. Connexion 3. Modification profil 4. Ajout adresse 5. Upload document 6. Modification préférences 7. Consultation sessions 8. Déconnexion d'une session
Objectif :
Construire le premier domaine métier cœur de la plateforme.
Modules concernés :
PropertiesModule PropertyMediaModule PropertyFeaturesModule PropertyAvailabilityModule PropertyRatesModule
Fonctionnalités :
À l'issue du Sprint 3, la plateforme sera capable de publier et administrer ses premiers biens immobiliers.