A modular monolith, on purpose
Retail software moves money and stock, and both need to be correct at the same instant. Splitting sales, inventory and payments into separate services would have bought independent deployability at the cost of distributed transactions across exactly the operations that must not drift. The POS backend is one Spring Boot application with hard module boundaries instead — the seams are there to extract later, if scale ever justifies the operational cost.
ARCHITECTURETRANSACTIONSPOS
See Aqvion POS