# Go MQTT Vending Backend — Teaching Workspace This directory contains short, interactive HTML teaching guides through Lesson 18. The full Markdown implementation course and its code/broker experiments live in `course-source/`, alongside the HTML lessons. This workspace adds focused retrieval practice and printable references. ## Start here 1. Since the learner has reported finishing Lesson 5A, continue with [Lesson 6 — bounded message work](lessons/0006-bounded-message-work.html). 2. Follow with [Lesson 7 — command state](lessons/0007-command-state.html), [Lesson 8 — HTTP acceptance vs device completion](lessons/0008-http-acceptance-vs-completion.html), [Lesson 9 — session recovery](lessons/0009-session-recovery.html), [Lesson 10 — expiry and presence](lessons/0010-expiry-presence-state.html), [Lesson 11 — security boundaries](lessons/0011-security-boundaries.html), [Lesson 12 — vending workflows](lessons/0012-vending-workflows.html), and [Lesson 13 — durable persistence](lessons/0013-persist-reports-command-state.html). 3. Continue through [Lesson 14 — transactional outbox](lessons/0014-outbox-failure-gaps.html), [Lesson 15 — split API and ingestion](lessons/0015-process-boundaries.html), [Lesson 16 — MQTT 5 controls](lessons/0016-mqtt5-controls.html), [Lesson 17 — operations and diagnosis](lessons/0017-operations-diagnostics.html), and [Lesson 18 — backend handover](lessons/0018-backend-handover.html), the end of the course plan. 4. [Lesson 11B — Dynamic Security](lessons/0011b-dynamic-security.html) is an optional broker-provisioning extension. 5. Keep the [message-processing lifecycle reference](reference/message-processing-lifecycle.html) and [HTTP/MQTT evidence quick reference](reference/http-mqtt-evidence.html) nearby. 6. Each HTML lesson is a short retrieval and experiment guide. Use its linked `course-source/` lesson or `COURSE.md` checklist for detailed implementation instructions, code, and broker-specific commands. Attempt the exercise before opening solution material where applicable. The next lesson should follow the learner's answer and code review. Do not infer mastery from opening or reading a page. ## Workspace map - [MISSION.md](MISSION.md) — the real-world backend goal and its boundaries. - [RESOURCES.md](RESOURCES.md) — primary references and the lab code map. - [GLOSSARY.md](GLOSSARY.md) — terms promoted only after demonstrated understanding. - [NOTES.md](NOTES.md) — teaching preferences and current sequence state. - `lessons/` — short HTML lessons and retrieval practice through Lesson 18, with optional Lesson 11B. - `reference/` — concise reference pages designed for review and printing. - `assets/` — the shared stylesheet and interactive quiz behavior. - `learning-records/` — decision-grade progress evidence, not a session log.