01Confirmed webhook state over optimistic gate release
Opening the gate when the UI says payment started lets hardware behavior drift away from persisted business state. OpenIt waits for the Mercado Pago webhook to persist confirmation before releasing the exit flow.
02Node-RED orchestration over backend-to-device coupling
Talking to ESP32 devices directly from the backend mixes hardware protocol concerns into the application service layer. Node-RED handles MQTT orchestration so the backend stays focused on access and payment rules.
03SSE updates over client polling
Client polling adds repeated reads, slower feedback, and more edge cases when payment status changes quickly. SSE lets the backend push confirmation as soon as the webhook lands.
04Bounded contexts over one merged parking module
One merged parking module blends gate rules with payment rules and makes every change touch the same service logic. OpenIt keeps access and payment separate so each flow can evolve around its own state transitions.