For Thermo International service-engineering staff. This guide walks you through everything the admin console can do — managing customer accounts, editing the troubleshooter, and reading the live activity dashboard.
A web app that walks a customer's field technician through the IS001B 60 / 120 / 200 kW troubleshooting flowchart and produces a printable PDF service report at the end. As the single admin you decide what the troubleshooter says, who can use it, and you watch real-world activity through a dashboard.
- Open the troubleshooter URL.
- Enter your admin email and password on /login.
- Click Admin in the top-right to open the console at /admin.
There is exactly one admin account. There is no self-serve password reset for it. Don't lose this password — recovery requires re-running the bootstrap procedure documented in DEPLOYMENT.md.
| Tab | Purpose |
|---|---|
| Dashboard | What's happening across all customers — last 30 days. |
| Client companies | Customer organisations (Acme Steel, Big Plant, …). |
| Users | Field technicians who can sign in. |
| Versions | Drafts and the live version of the troubleshooter content. |
| Step editor | Edit individual steps inside a draft. |
| Audit log | Who did what, system-wide. |
Hover any small (i) badge in the UI for an inline definition of a section.
- Add the company first. Client companies → Add company. Required: name. Optional: contact email/phone, address, notes.
- Then add their technicians. Users → Add user. Pick the company from the dropdown. Either set a temporary password (the user will be forced to change it on first sign-in) or leave it blank to generate a 7-day activation token.
- Send credentials securely. The success modal lists everything the user needs — copy the contents verbatim into your normal channel (encrypted email, ticket system, etc.). The system does not send email itself.
| Action | Effect |
|---|---|
| Disable / Enable | Blocks future sign-in. Existing diagnostic sessions are preserved. Use this when someone leaves a customer. |
| Reset password | Issues a fresh activation token (7-day expiry). User must visit /activate with it. |
| Delete | Permanent. Past sessions stay but become anonymous. Prefer Disable unless you're sure. |
The admin row has no action buttons — admin cannot be modified or deleted from this UI by design.
Content is versioned. There is one published version at a time — what every client sees. Editing happens in drafts. Publishing is atomic: it archives the previously published version and makes the draft live.
- Versions → Create draft. Pick Copy from = current published version so you only edit what's changing.
- Step editor. Pick the draft, search by id / type / text. Click any step to expand and edit JSON.
- Save. Or Delete for soft-delete (recoverable until the draft itself is deleted). + Add step to create a new node.
- Versions → Publish. Confirms and goes live. Clients see the new content on next fetch.
| Type | Required keys | What it does |
|---|---|---|
| action | title, instruction, next | "Do X, then continue" |
| question | question, answers[].label, answers[].next | Branching choice |
| measurement | title, instruction, branches[].condition, branches[].next | Numeric reading; routes by <10, >=5, ==0, between:1,5 |
| diagnosis | title, severity, actions[] | Terminal outcome with recommended actions |
| note | title, text, next | Informational |
| warning_ack | title, text, next | Critical safety pre-step the user must acknowledge |
| index | title, options[].label, options[].next | Sub-menu of N choices |
Optional everywhere: component_refs — array of component ids, enriches the dashboard's "components implicated" panel.
| Card | What it tells you |
|---|---|
| Sessions · 7d | Total walkthroughs started in the last week. |
| Critical diagnoses · 7d | Sessions that ended on a critical-severity diagnosis. Spike = quality signal. |
| Active client accounts | Total enabled clients across all companies. |
| Top diagnoses · 30d | What customers' machines fail on most. Severity-coloured. |
| Top components implicated · 30d | Component references aggregated across reached diagnoses — real-world reliability data. |
| Top abandonment points · 30d | Steps where clients stopped without a diagnosis. High counts → unclear wording or missing branch. |
| Activity by company · 30d | Sessions per customer. Click a row to drill in. |
Every administrative write plus every sign-in and sign-out, newest first. Action labels are friendly and colour-coded (green=create, amber=update, red=delete, blue=sign-in/publish). Targets resolve to human-readable names (user emails, company names, version labels, step ids). Click ▾ details on update rows to see the full before/after JSON. Use the filter chips at the top to narrow by category. The log keeps the most recent 200 events.
- Publishing is atomic. Don't publish mid-emergency unless you're sure.
- Soft-delete is reversible at the DB layer; the UI doesn't currently surface an undelete.
- Activation tokens expire after 7 days. Reset password issues a fresh one.
- The system never sends email. You are the secure delivery channel for credentials and tokens.
- If the admin account is compromised, follow the recovery procedure in DEPLOYMENT.md.