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)
| Projet | Port | Rô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-persons | 8081 | Personnes : propriétaires, locataires, fournisseurs, organisations |
adb-utilities | 8082 | Catalogues, traductions, configurations transverses, indices INSEE |
adb-files | 8083 | Stockage de documents (S3 + métadonnées Mongo) |
adb-contracts | 8084 | Contrats : bail, assurance, garantie, SEPA. Machine d'états + génération PDF |
adb-parts | 8085 | Biens immobiliers : bâtiments, lots, équipements, charges, ventes |
adb-aggregates | 8086 | Agrégation read-only multi-services |
adb-accounting | 8089 | Comptabilité : factures, paiements, journaux, écritures, CRG |
adb-reports | 8090 | Génération PDF (contrats, résiliations, rapports) |
adb-views | 8092 | Vues / dashboards consolidés |
Frontend
| Projet | Rôle |
|---|---|
adb-ui | Frontend Angular 19 historique. Client direct de tous les microservices via la gateway. |
adb-web | Nouvelle archi sur Cloudflare Workers (Yarn 4 + Turborepo). apps/ui (Angular statique) + apps/bff (Hono). Migration en cours. |
Infrastructure & outillage
| Projet | Rôle |
|---|---|
adb-charts | Charts Helm + Terraform pour déploiement Kubernetes (AKS principal, AWS secondaire). |
adb-infrastructure | Scripts MongoDB Atlas + configuration AWS EventBridge. |
adb-tests-artillery | Tests de charge / API end-to-end (Artillery.js). |
adb-doc | Site de documentation VuePress (ce site). |
Services externes (référencés mais hors monorepo)
| Projet | État |
|---|---|
adb-tickets | Actif — déployé via adb-charts, dépôt git séparé. |
adb-notes | Déprécié — fonctionnalités migrées vers adb-tickets (route /notes redirige). |
adb-graph | Incomplet — 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