Training Course
This section turns the repository from a good engineering reference into a guided training course for newcomers.
The goal is not to duplicate every requirement, ADR, or lesson. The goal is to create an opinionated learning path that helps a new engineer:
- run the app and observe realistic behavior
- understand the domain model and machine workflow
- connect design decisions to code structure
- learn the .NET, WPF, MVVM, async, and architecture techniques used in the repo
- extend the system safely with or without AI coding tools
Course Shape
The training track is designed as four connected layers:
CourseNarrative modules that teach the system end to end.ScenariosHands-on operator and debugger exercises that require running the app.ArchitectureDesign explanations with class, state, sequence, and dependency diagrams.LessonsReusable theory pages on industrial systems, OOP, C#, .NET, async, MVVM, diagnostics, and architecture trade-offs.
Start Here
If you are new to the repo, use this reading order:
- 01. System Tour and Happy Path
- 02. Domain and State Model
- 03. Architecture Walkthrough
- 04. Workflow and Async Runtime
- 05. Design Patterns and .NET Techniques
- Scenario Pack
- Architecture Pack
- 07. Extending the System Safely
Core Modules
These are the main learner-facing course pages:
- 01. System Tour and Happy Path
- 02. Domain and State Model
- 03. Architecture Walkthrough
- 04. Workflow and Async Runtime
- 05. Design Patterns and .NET Techniques
- 07. Extending the System Safely
Supporting Tracks
Use these alongside the core modules:
Course Authoring Docs
These pages describe how the course itself is planned and maintained:
- Course Roadmap
- Course Execution Guide
- Diagrams Workflow
- TASK-C01: Course Information Architecture
- TASK-C02: Scenario Pack
- TASK-C03: Architecture Pack and Diagram Briefs
- TASK-C04: Runtime Deep Dive
- TASK-C05: Design Patterns and .NET Techniques
- TASK-C06: Learning Path and Extension Playbook
- TASK-C07: Editorial Polish and Cross-Linking
Design Rules
Every major course page should answer these questions:
- Why does this topic matter in a real industrial desktop system?
- What should the learner do in the app or read in the code?
- Which design trade-offs shaped the current implementation?
- Which lessons should the learner study next?
Every major module should aim to include:
- a clear newcomer-oriented explanation
- a concrete scenario or walkthrough
- code references
- a small ASCII diagram when structure or flow is easier to grasp visually
- one or more diagram briefs for Draw.io
- exercises or reflection prompts
Suggested Reading Order
The current recommended order is:
- system tour and happy path
- domain and state model
- architecture walkthrough
- workflow and async runtime
- design patterns and .NET techniques
- scenarios and architecture pages as needed
- extending the system safely