A small operation still needs a boundary between front and back office
Stated qualitatively. We did not run a measured before-and-after study, so no percentage is claimed.
Context
A nutrition practice with a public site, a back office for the administrative side of the practice, and the need to change the site without that being an act of faith.
Operational constraint
Small operations usually fail the same way large ones do, with fewer people to absorb it. The practice's administrative state and the public site had no defined boundary, and any change to the public site went straight to the people reading it.
Architecture
- An explicit boundary: the ERP owns the administrative state of the practice, the public site owns presentation, and the site does not become a second place where operational facts live.
- A staging environment on the same infrastructure as production, so a change is verified in the real environment rather than on a developer's machine.
- Separate web roots for production and staging, so promoting a change is a deliberate step and not a side effect.
Implementation
- Public site served as a static build, with its own production and staging web roots.
- Odoo as the back office for the practice, on its own subdomain and its own database.
- A designed boundary to the consumer product, stated as it actually stands. The consumer side has the adapter, the contract and the configuration pointing at the practice, including an explicit result taxonomy for available, stale, unavailable and invalid responses. The counterpart endpoint on the back office is not implemented yet and the feature is switched off, so no plan data moves between the two systems today.
Observed result
- A change to the public site can be seen in a real environment before it reaches anyone.
- Administrative state has one owner, and the public site reads from it rather than restating it.
- Production and staging are the same shape, so what is verified is what ships.
- The boundary is designed rather than improvised, and it is honest about not being live: the consumer keeps its general score when no plan is available, instead of failing or inventing one.
Stated qualitatively. We did not run a measured before-and-after study, so no percentage is claimed.