Life ConnectLife Connect
Wiki index
Architecture
Services
Concepts
Runbooks
Infra
Swagger Docs
GitHub
Wiki index
Architecture
Services
Concepts
Runbooks
Infra
Swagger Docs
GitHub
  • Architecture

    • Architecture overview
    • Service-to-service communication
    • Data layer
    • Authentication
    • ADB monorepo audit — use cases & flow maps
Last updated 2026-05-03

Overview

AI-generated content

This document was generated by an AI assistant. Verify accuracy before relying on the details.

LifeConnect ADB is a real-estate management platform (assets, persons, contracts, accounting) built on reactive Spring WebFlux microservices, with an Angular frontend and a new edge layer running on Cloudflare Workers.

The hlc-lifeconnect/adb repo is a monorepo that holds the entire codebase (recently consolidated from a collection of submodules — commit 6376e7e).

Big picture

flowchart TB
    Browser[End-user browser]

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

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

    subgraph CoreServices[Business microservices]
        Persons[adb-persons<br/>:8081]
        Parts[adb-parts<br/>:8085]
        Contracts[adb-contracts<br/>:8084]
        Accounting[adb-accounting<br/>:8089]
        Tickets[adb-tickets<br/>:8093]
    end

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

    subgraph ReadServices[Read / aggregation services]
        Aggregates[adb-aggregates<br/>:8086]
        Views[adb-views<br/>:8092]
        Reports[adb-reports<br/>:8090]
    end

    subgraph DataLayer[Data layer]
        Mongo[(MongoDB Atlas)]
        S3[(AWS S3)]
        SQS[AWS SQS / SNS]
    end

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

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

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

    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
    Tickets --> Mongo

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

Project inventory

Backend (Java / Spring Boot 3.1.3, reactive WebFlux)

ProjectPortRole
adb–Maven parent: shared modules (adb-common, adb-model, adb-messaging, adb-openapi, adb-actions, adb-action-logs, adb-test, adb-descriptor, adb-communication) plus the Nginx reverse proxy
adb-persons8081Persons & organizations management (owners, tenants, suppliers), company settings
adb-utilities8082Catalogue values, i18n translations, INSEE index sync, cross-app configuration, UI log forwarding to Elastic, serial number generation (contracts etc.), allocation keys
adb-files8083Document storage (S3 + Mongo metadata)
adb-contracts8084Contract management (OwnerContract, RentalContract, RentalDelegateContract, etc.), insurance (GLI), guarantee, SEPA, entry point for call for rent process, PDF generation for contract-related documents
adb-parts8085Real-estate assets: properties, buildings, units, equipment, charges, sales
adb-aggregates8086Read-only multi-service aggregation
adb-accounting8089Accounting: invoices, payments, accounting events, accounting entries, general ledger accounts, auxiliary accounts, CRG
adb-reports8090PDF generation (contracts, reports — some deprecated/unused), template metadata management for adb-contracts, handles new contract creation flow for CIVIL and COMMERCIAL contracts
adb-views8092Consolidated views / dashboards
adb-tickets8093Ticket management (SALE, DAMAGES, TENANT_SEARCH, INCIDENTS, WORKS, etc.) and related events

Frontend

ProjectRole
adb-uiLegacy Angular 19 frontend. Talks directly to every microservice through the gateway.
adb-webNew architecture on Cloudflare Workers (Yarn 4 + Turborepo). apps/ui (static Angular) + apps/bff (Hono). Migration in progress.

Infrastructure & tooling

ProjectRole
adb-chartsHelm charts + Terraform for Kubernetes deployment (AKS primary, AWS secondary).
adb-infrastructureMongoDB Atlas scripts + AWS EventBridge configuration.
adb-tests-artilleryLoad / end-to-end API tests (Artillery.js).
adb-docVuePress documentation site (this site).

External services (referenced but out-of-monorepo)

ProjectStatus
adb-notesDeprecated — features migrated to adb-tickets (the /notes route redirects).
adb-graphDeprecated — RabbitMQ consumer feeding Neo4j, no K8s deployment.

Going further

  • Service-to-service communication — call patterns, FQDNs, gateway, BFF, events
  • Data layer — MongoDB, S3, Neo4j, messaging
  • Authentication — Keycloak, JWT, BFF
Edit this page
Last Updated:
Contributors: Yevhenii Khudolii
Next
Service-to-service communication