Table des matières
Dossier d'architecture détaillé
L'objectif est de produire un dossier complet permettant à une équipe de développement de concevoir, développer et maintenir la plateforme de gestion locative.
Structure du dossier d'architecture
01-Vision-Metier 02-Architecture-Fonctionnelle 03-Architecture-Technique 04-Modele-De-Donnees 05-UML 06-IHM-Ecrans 07-API-OpenAPI 08-Securite 09-DevOps 10-Backlog-Agile
L'ordre de production recommandé est :
- Modèle de données
- UML
- Écrans
- API
- Backlog Agile
Chaque étape dépend de la précédente.
Phase 1 : Modèle de données complet
Pour une plateforme comparable à Airbnb, Booking ou à un ERP de gestion locative, le modèle comporte généralement entre 70 et 90 tables.
Domaine Utilisateurs
users roles permissions role_permissions user_roles user_profiles user_addresses user_documents sessions refresh_tokens login_history notifications notification_templates notification_logs
Nombre de tables : 12
Domaine Agence
agencies agency_settings agency_branches employees employee_positions employee_teams audit_logs
Nombre de tables : 7
Total cumulé : 19
Domaine Propriétaires
owners owner_contacts owner_bank_accounts owner_tax_profiles owner_contracts owner_documents
Nombre de tables : 6
Total cumulé : 25
Domaine Biens
properties property_types property_categories property_addresses property_descriptions property_photos property_videos property_documents property_features features property_rooms property_rates property_seasons property_availability property_calendars property_maintenance property_status_history
Nombre de tables : 17
Total cumulé : 42
Domaine Réservation
reservations reservation_statuses reservation_guests reservation_events reservation_notes reservation_cancellations reservation_modifications
Nombre de tables : 7
Total cumulé : 49
Domaine Contrats
contracts contract_templates contract_versions contract_signatures contract_documents
Nombre de tables : 5
Total cumulé : 54
Domaine Paiement
payments payment_methods payment_transactions payment_refunds payment_schedules invoices invoice_lines credit_notes
Nombre de tables : 8
Total cumulé : 62
Domaine CRM
leads lead_sources lead_statuses customer_tags customer_notes customer_activities
Nombre de tables : 6
Total cumulé : 68
Domaine Messagerie
conversations conversation_participants messages message_attachments message_reads
Nombre de tables : 5
Total cumulé : 73
Domaine Reporting
dashboards reports report_exports kpi_definitions kpi_snapshots
Nombre de tables : 5
Total cumulé : 78
Modèle relationnel principal
Owner 1 ---- n Property Property 1 ---- n Reservation Reservation 1 ---- 1 Contract Reservation 1 ---- n Payment User 1 ---- n Reservation User 1 ---- n Message Property 1 ---- n PropertyPhoto Property 1 ---- n Availability
Architecture logique
┌─────────────────────────┐
│ FRONT CLIENT │
└───────────┬─────────────┘
│
┌───────────▼─────────────┐
│ API GATEWAY │
└───────────┬─────────────┘
│
┌──────────┼──────────┐
│ │ │
▼ ▼ ▼
Auth Catalogue Reservation
▼ ▼ ▼
CRM Contract Payment
▼
Notification
UML à produire
Cas d'utilisation
Client
Client │ ├── Rechercher un bien ├── Consulter une annonce ├── Réserver ├── Signer contrat ├── Payer └── Consulter historique
Gestionnaire
Gestionnaire │ ├── Créer bien ├── Modifier bien ├── Gérer réservation ├── Générer contrat └── Gérer paiements
Diagramme de classes principal
User ├─ Owner ├─ Tenant └─ Employee Property ├─ PropertyPhoto ├─ PropertyAvailability ├─ PropertyRate Reservation Contract Payment
Diagrammes de séquence
Réservation
Client ↓ Recherche Catalogue Service ↓ Sélection Reservation Service ↓ Vérification Availability Service ↓ Confirmation Payment Service ↓ Paiement Contract Service ↓ Signature Reservation Confirmée
Écrans à concevoir
Front Office
Accueil
Sections :
- Barre de recherche
- Destinations populaires
- Dernières offres
- Promotions
Recherche
Filtres :
- Ville
- Prix
- Chambres
- Surface
- Équipements
Résultats :
- Liste
- Carte
Fiche Bien
Onglets :
- Description
- Équipements
- Calendrier
- Photos
- Avis
Action principale :
- Réserver
Tunnel de réservation
- Choix des dates
- Informations locataire
- Paiement
- Signature
Extranet Propriétaire
Menu :
Tableau de bord Mes biens Calendrier Revenus Documents Messagerie Profil
Back Office
Menu :
Dashboard Biens Réservations Clients Propriétaires Contrats Paiements CRM Statistiques Administration
OpenAPI
Volume estimé :
AUTH 15 endpoints PROPERTY 40 endpoints OWNER 20 endpoints CUSTOMER 20 endpoints RESERVATION 35 endpoints CONTRACT 15 endpoints PAYMENT 20 endpoints CRM 25 endpoints MESSAGING 15 endpoints REPORTING 20 endpoints
Soit environ 225 endpoints REST.
Backlog Agile
Epic 1 : Authentification
Features
- Login
- Register
- RBAC
Charge estimée :
- 20 User Stories
Epic 2 : Catalogue Immobilier
Features
- CRUD biens
- Gestion des médias
- Gestion des disponibilités
Charge estimée :
- 50 User Stories
Epic 3 : Réservation
Features
- Création réservation
- Modification réservation
- Annulation réservation
Charge estimée :
- 40 User Stories
Epic 4 : Contrats
Charge estimée :
- 20 User Stories
Epic 5 : Paiements
Charge estimée :
- 30 User Stories
Epic 6 : Portail Propriétaire
Charge estimée :
- 25 User Stories
Epic 7 : CRM
Charge estimée :
- 30 User Stories
Epic 8 : Administration
Charge estimée :
- 35 User Stories
Estimation globale
Le produit complet représente :
- Entre 250 et 350 User Stories
- Entre 70 et 90 tables PostgreSQL
- Environ 225 endpoints REST
- Plus de 100 écrans métier
Ce périmètre correspond à une plateforme SaaS professionnelle de gestion locative comparable aux solutions du marché.
Étape suivante recommandée
Produire le schéma PostgreSQL détaillé :
- DDL complet
- Colonnes
- Types PostgreSQL
- Clés primaires
- Clés étrangères
- Index
- Contraintes
- Historisation
- Audit
Ce schéma servira ensuite de fondation au modèle UML, aux API OpenAPI et au backlog Agile détaillé.