Sapling has a very standard client-server architecture. The client is a SPA that is deployed separately.
┌────────────┐
│ front end │
└────────────┘
│
│
▼
┌────────┐ ┌────────────┐
│ solver │ ◀·· │ app server │
└────────┘ └────────────┘
│
│
▼
┏━━━━━━━━━━━━┓
┃ database ┃
┗━━━━━━━━━━━━┛
The solver can either be run as a separate service (so it can be scaled up independently, in which case set SOLVER_REMOTE
and SOLVER_URI
) or on the application server itself.