Life ConnectLife Connect
Table of contents
Architecture
Services
Swagger Docs
GitHub
Table of contents
Architecture
Services
Swagger Docs
GitHub
  • Backend (Java / Spring Boot)

    • adb (parent Maven + proxy)
    • adb-persons
    • adb-parts
    • adb-contracts
    • adb-accounting
    • adb-files
    • adb-utilities
    • adb-aggregates
    • adb-views
    • adb-reports
  • Frontend

    • adb-ui
    • adb-web
  • Infrastructure & Outillage

    • adb-charts
    • adb-infrastructure
    • adb-tests-artillery
    • adb-doc
  • Services externes (hors monorepo)

    • adb-tickets (externe)
    • adb-notes (déprécié)
    • adb-graph (externe, statut incomplet)

adb-parts

Rôle

Service de gestion des biens immobiliers (parts). Une part est l'unité de base de la plateforme : elle peut être un bâtiment, un étage, un appartement, un lot de copropriété, un parking, un local commercial, etc. Le service gère :

  • la hiérarchie des parts (un bâtiment contient des étages contiennent des lots),
  • les caractéristiques physiques (surface, équipements, charges),
  • les actifs financiers associés (valeur, indices),
  • les budgets et clés de répartition,
  • les ventes (sale).

Stack

ÉlémentValeur
Spring Boot3.1.3
Java18
Port8085
DatabaseMongoDB Atlas — base adb-parts
AuthKeycloak (resource server)
Stack réactiveSpring WebFlux + Reactive MongoDB
Version0.30.0-SNAPSHOT
Main classfr.lifeconnect.adb.part.AdbPartApplication

Dépend de : adb-common, adb-model, adb-messaging, adb-actions, adb-action-logs.

Architecture interne

flowchart TB
    subgraph Controllers
        PaC[PartController]
        AC[AssetController]
        BC[BudgetController]
        CC[ChargeController]
        SC[SaleController]
        OIC[ObjectIdController]
    end

    subgraph Services
        PS[PartService]
        AS[AssetService]
        BS[BudgetService]
        CS[ChargeService]
        SS[SaleService]
    end

    Mongo[(adb-parts<br/>Mongo)]

    PaC --> PS
    AC --> AS
    BC --> BS
    CC --> CS
    SC --> SS

    PS --> Mongo
    AS --> Mongo
    BS --> Mongo
    CS --> Mongo
    SS --> Mongo

    Persons[adb-persons]
    Contracts[adb-contracts]
    Utilities[adb-utilities]

    PS -.HTTP.-> Persons
    SS -.HTTP.-> Contracts
    BS -.HTTP.-> Utilities

Endpoints

ControllerPath de baseRôle
PartController/partsCRUD parts (hiérarchie)
AssetController/parts/assetsActifs financiers
BudgetController/parts/budgetsBudgets et lignes budgétaires
ChargeController/parts/chargesCharges récupérables / non récupérables
SaleController/parts/salesVentes de parts
ObjectIdController–Génération d'IDs MongoDB
ErrorDebugController/parts/errorsDebug

Modèle de données

erDiagram
    PartEntity ||--o{ PartEntity : "parent → enfants"
    PartEntity ||--o{ AssetEntity : "associé à"
    PartEntity ||--o{ ChargeEntity : "supporte"
    PartEntity ||--o{ BudgetLineEntity : "budgété par"
    PartEntity ||--o{ SaleEntity : "vendu via"

    PartEntity {
        string _id
        string parentId
        string type "building / floor / unit / parking"
        string name
        number surface
        object address
    }
    AssetEntity {
        string _id
        string partId
        number value
        date acquisitionDate
    }
    ChargeEntity {
        string _id
        string partId
        number amount
        string allocationKey
    }
    BudgetLineEntity {
        string _id
        string partId
        number amount
        string fiscalYear
    }
    SaleEntity {
        string _id
        string partId
        number price
        date saleDate
    }

Collections : parts, assets, charges, budget_lines, sales.

Événements

Émis (via SNS)

  • onPartModified
  • onChargeModified
  • onMarketPerformanceModified

Consommés

Aucun listener SQS direct.

Dépendances inter-services

flowchart LR
    parts[adb-parts]
    persons[adb-persons]
    contracts[adb-contracts]
    utilities[adb-utilities]

    parts -->|GET /persons| persons
    parts -->|GET /contracts/sellPart| contracts
    parts -->|GET /utilities/allocationkey/key/:id| utilities

    contracts2[adb-contracts] -->|GET /parts| parts
    accounting[adb-accounting] -->|GET /parts| parts
    aggregates[adb-aggregates] -->|GET /parts| parts
    views[adb-views] -->|GET /parts| parts

Configuration & déploiement

Variables d'environnement

VariableRôle
MONGO_DB_URIConnection string MongoDB
SECURITY_ISSUER_URIKeycloak issuer
SECURITY_TOKEN_URIToken endpoint
CLIENT_ID / CLIENT_SECRETCredentials du service

Chart Helm

adb-charts/charts/services/templates/adb-parts.yaml. Image : lifeconnect/adb-parts.

Liens

  • Code : adb-parts/
  • Application : adb-parts/src/main/java/fr/lifeconnect/adb/part/AdbPartApplication.java
Edit this page
Last Updated:
Contributors: gregory
Prev
adb-persons
Next
adb-contracts