Table des matières

Sprint 2 — Gestion Utilisateurs

Objectif du Sprint

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.


Périmètre

Modules concernés

UsersModule

ProfilesModule

DocumentsModule

SessionsModule

NotificationsModule

User Stories

US-201 : Consulter son profil

En tant qu'utilisateur

Je souhaite consulter mes informations

Afin de vérifier leur exactitude.


Endpoint

GET /users/me

Critères


US-202 : Modifier son profil

Endpoint

PUT /users/me

Champs

Prénom

Nom

Téléphone

Date de naissance

Nationalité

US-203 : Gérer ses adresses

Endpoints

GET    /users/me/addresses
 
POST   /users/me/addresses
 
PUT    /users/me/addresses/{id}
 
DELETE /users/me/addresses/{id}

Données

Adresse

Complément

Code Postal

Ville

Pays

Adresse principale

US-204 : Déposer un document

Objectif

Préparer la vérification d'identité.


Types

IDENTITY_CARD

PASSPORT

DRIVING_LICENSE

PROOF_OF_ADDRESS

OTHER

Endpoint

POST /users/me/documents

Critères


US-205 : Consulter ses documents

Endpoint

GET /users/me/documents

US-206 : Vérification identité

Statuts

PENDING

UNDER_REVIEW

VALIDATED

REJECTED

Endpoint

POST /users/me/identity-verification

Évolution future

Intégration :

FranceConnect

Onfido

Stripe Identity

US-207 : Consulter ses sessions

Endpoint

GET /users/me/sessions

Informations

Date

Adresse IP

Navigateur

Pays

Statut

US-208 : Révoquer une session

Endpoint

DELETE /users/me/sessions/{id}

Critères


US-209 : Historique de connexion

Endpoint

GET /users/me/login-history

Données

Date

IP

Navigateur

Résultat

Pays

US-210 : Préférences utilisateur

Endpoint

GET /users/me/preferences
 
PUT /users/me/preferences

Préférences

Langue

Fuseau horaire

Devise

Format date

Format heure

US-211 : Notifications

Endpoint

GET /users/me/notification-settings
 
PUT /users/me/notification-settings

Paramètres

Email

SMS

Push

Marketing

Paiements

Réservations

Contrats

Architecture Prisma

UserAddress

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]
                 )
}

UserDocument

model UserDocument {
 
  id            String @id @default(uuid())
 
  userId        String
 
  documentType  String
 
  fileName      String
 
  storagePath   String
 
  status        String
 
  uploadedAt    DateTime
 
}

UserSession

model UserSession {
 
  id            String @id @default(uuid())
 
  userId        String
 
  refreshToken  String
 
  ipAddress     String
 
  userAgent     String
 
  expiresAt     DateTime
 
}

LoginHistory

model LoginHistory {
 
  id            String @id @default(uuid())
 
  userId        String
 
  ipAddress     String
 
  userAgent     String
 
  success       Boolean
 
  createdAt     DateTime
}

UserPreference

model UserPreference {
 
  id            String @id @default(uuid())
 
  userId        String @unique
 
  language      String
 
  timezone      String
 
  currency      String
 
}

Structure Backend

src/modules/users

├── profile
│
├── addresses
│
├── documents
│
├── sessions
│
├── preferences
│
├── notifications
│
└── login-history

Swagger

Nouveaux tags

Profiles

Addresses

Documents

Sessions

Preferences

Notifications

Nouveaux endpoints

Environ :

20 endpoints REST

Frontend

Pages

/profile

/profile/personal

/profile/addresses

/profile/documents

/profile/preferences

/profile/security

/profile/sessions

Composants

ProfileCard

AddressForm

DocumentUploader

SessionTable

PreferencesForm

NotificationSettings

Tests

Unitaires

UserProfileService

AddressService

DocumentService

SessionService

Intégration

Upload document

↓

Consultation document

↓

Suppression document

E2E

Login

↓

Modifier profil

↓

Ajouter adresse

↓

Uploader document

↓

Modifier préférences

↓

Consulter sessions

Définition de terminé

Le Sprint 2 est terminé lorsque :


Livrables


Démonstration Sprint

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

Sprint suivant

Sprint 3 — Catalogue Immobilier

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.

DokuWiki Appliance - Powered by TurnKey Linux