Move lesson source into the teaching structure, align the course path with the learner's Go and DevOps experience, and add the interactive lesson guides. Add advanced DevOps lifecycle study as a separate section. Bound MQTT message work and drain accepted jobs during shutdown; align the backend implementation with the revised course through Section 6.
19 lines
1.1 KiB
Markdown
19 lines
1.1 KiB
Markdown
# 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.
|