# Mission: Go backend for MQTT vending devices ## Why Build and maintain a Go backend that communicates with Mosquitto over MQTT 5, receives vending-device telemetry and logs, exposes status, and sends safe commands and updates. ## Success looks like - Trace a device operation from HTTP request through MQTT delivery to device result without confusing their acknowledgements. - Implement and maintain bounded, validated, observable Go handlers for device messages and commands. - Diagnose failures across the API, backend, broker, and device boundaries. ## Constraints - Use this repository's simulator and disposable lab; keep the production backend read-only. - Assume Go and Docker basics and prior MQTT 3.1.1 study; focus on MQTT 5 behavior and operational consequences. - Lessons should be brief, use an overview before details, include meaningful emojis, and require the learner to retrieve or apply an idea. ## Out of scope - Sending real commands to vending machines or changing production systems. - Treating broker delivery as proof that a device performed a business action.