Life ConnectLife Connect
Table of contents
Architecture
Services
Swagger Docs
GitHub
Table of contents
Architecture
Services
Swagger Docs
GitHub
  • Architecture

    • Vue d'ensemble
    • Communication inter-services
    • Couche données
    • Authentification & autorisation

Vue d'ensemble

LifeConnect ADB est une plateforme de gestion immobilière (biens, personnes, contrats, comptabilité) construite en microservices Spring WebFlux réactifs, avec un frontend Angular et une nouvelle couche edge sur Cloudflare Workers.

Le repo hlc-lifeconnect/adb est un monorepo qui contient l'ensemble du code (récemment converti depuis une collection de submodules — commit 6376e7e).

Schéma global

flowchart TB
    Browser[Navigateur utilisateur]

    subgraph CFEdge[Cloudflare edge]
        UI_Web[adb-web/apps/ui<br/>Angular statique]
        BFF[adb-web/apps/bff<br/>Hono — auth, cache,<br/>rate-limit, fan-out]
    end

    subgraph Gateway[Gateway interne]
        Proxy[adb/proxy<br/>Nginx + Keycloak]
    end

    subgraph CoreServices[Microservices métier]
        Persons[adb-persons<br/>:8081]
        Parts[adb-parts<br/>:8085]
        Contracts[adb-contracts<br/>:8084]
        Accounting[adb-accounting<br/>:8089]
    end

    subgraph SupportServices[Services support]
        Files[adb-files<br/>:8083]
        Utilities[adb-utilities<br/>:8082]
    end

    subgraph ReadServices[Services lecture / agrégation]
        Aggregates[adb-aggregates<br/>:8086]
        Views[adb-views<br/>:8092]
        Reports[adb-reports<br/>:8090]
    end

    subgraph DataLayer[Couche données]
        Mongo[(MongoDB Atlas)]
        S3[(AWS S3)]
        Neo4j[(Neo4j)]
        SQS[AWS SQS / SNS]
    end

    Browser --> UI_Web
    UI_Web --> BFF
    BFF -->|Cloudflare Tunnel| Proxy

    UI_Legacy[adb-ui<br/>Angular legacy] --> Proxy

    Proxy --> Persons
    Proxy --> Parts
    Proxy --> Contracts
    Proxy --> Accounting
    Proxy --> Files
    Proxy --> Utilities
    Proxy --> Aggregates
    Proxy --> Views
    Proxy --> Reports

    Contracts --> Persons
    Contracts --> Parts
    Contracts --> Files
    Contracts --> Utilities
    Accounting --> Contracts
    Accounting --> Persons
    Accounting --> Parts
    Accounting --> Files
    Accounting --> Utilities
    Aggregates --> Persons
    Aggregates --> Parts
    Aggregates --> Contracts
    Aggregates --> Files
    Aggregates --> Utilities
    Views --> Persons
    Views --> Parts
    Views --> Contracts
    Views --> Files
    Reports --> Aggregates

    Persons --> Mongo
    Parts --> Mongo
    Contracts --> Mongo
    Accounting --> Mongo
    Files --> Mongo
    Files --> S3
    Utilities --> Mongo
    Views --> Mongo
    Reports --> Mongo

    Contracts -.events.-> SQS
    Accounting -.events.-> SQS
    Files -.events.-> SQS
    Views -.events.-> SQS

    Graph[adb-graph<br/>hors monorepo] -.consume.-> SQS
    Graph --> Neo4j

Inventaire des projets

Backend (Java / Spring Boot 3.1.3, WebFlux réactif)

ProjetPortRôle
adb–Parent Maven : modules partagés (adb-common, adb-model, adb-messaging, adb-openapi, adb-actions, adb-action-logs, adb-test, adb-descriptor, adb-communication) + reverse proxy Nginx
adb-persons8081Personnes : propriétaires, locataires, fournisseurs, organisations
adb-utilities8082Catalogues, traductions, configurations transverses, indices INSEE
adb-files8083Stockage de documents (S3 + métadonnées Mongo)
adb-contracts8084Contrats : bail, assurance, garantie, SEPA. Machine d'états + génération PDF
adb-parts8085Biens immobiliers : bâtiments, lots, équipements, charges, ventes
adb-aggregates8086Agrégation read-only multi-services
adb-accounting8089Comptabilité : factures, paiements, journaux, écritures, CRG
adb-reports8090Génération PDF (contrats, résiliations, rapports)
adb-views8092Vues / dashboards consolidés

Frontend

ProjetRôle
adb-uiFrontend Angular 19 historique. Client direct de tous les microservices via la gateway.
adb-webNouvelle archi sur Cloudflare Workers (Yarn 4 + Turborepo). apps/ui (Angular statique) + apps/bff (Hono). Migration en cours.

Infrastructure & outillage

ProjetRôle
adb-chartsCharts Helm + Terraform pour déploiement Kubernetes (AKS principal, AWS secondaire).
adb-infrastructureScripts MongoDB Atlas + configuration AWS EventBridge.
adb-tests-artilleryTests de charge / API end-to-end (Artillery.js).
adb-docSite de documentation VuePress (ce site).

Services externes (référencés mais hors monorepo)

ProjetÉtat
adb-ticketsActif — déployé via adb-charts, dépôt git séparé.
adb-notesDéprécié — fonctionnalités migrées vers adb-tickets (route /notes redirige).
adb-graphIncomplet — consommateur RabbitMQ vers Neo4j, pas de déploiement K8s.

Pour aller plus loin

  • Communication inter-services — patterns d'appel, FQDN, gateway, BFF, événements
  • Couche données — MongoDB, S3, Neo4j, messaging
  • Authentification — Keycloak, JWT, BFF
Edit this page
Last Updated:
Contributors: gregory
Next
Communication inter-services