Quiz spec¶
Technical specifications for the quiz module.
Contents¶
| File | Description |
|---|---|
| Answer model | The six kinds of answer, one tap, and skipping |
| Archetype | The named archetype, its match, its description and the ranking |
| Axis closeness | The checkpoint card that says where the taker stands on one axis |
| Checkpoints | The frame every checkpoint card sits in, and its two buttons |
| Demographics | The four demographic fields, their lists and when they are sent |
| Double axis chart | Two opposing orientations on one bar |
| Double axis puzzle | The checkpoint card that asks which of three archetypes is closest |
| Engaging loader | The results calculation phase: the hand-in, the wait and its lines |
| Event model | The running state, and the engine that picks a checkpoint card |
| Halfway through | The checkpoint card at the midpoint, with the time left |
| Header | The top of the result: one orientation, its confidence and the tabs |
| Horizontal bar chart | A ranked list of orientations, flat or grouped |
| Module wrapper | The frame every result module sits in |
| Multi axis chart | Groups of axes, collapsed to their winners |
| New trait | The checkpoint card that announces a trait earned for good |
| Nolan chart | Two axes crossed into a map |
| Nolan chart path | The checkpoint card that draws the route across the compass |
| Phases model | The questionnaire screen: seven phases, their buttons, back and reset |
| Progress and pacing | The progress bar: what counts, what it shows, where it is drawn |
| Random copy | The pools of lines the checkpoint cards draw their wording from |
| Results saving and marketing | The e-mail card, and the endpoint that sends the results link |
| Session and data | Where a quiz is read from, what a session holds and what is handed in |
| Single axis chart | One orientation, one bar |
| Single axis puzzle | The checkpoint card that asks which pole of an axis is closer |
| Stats chart | The checkpoint card that shows how everyone answered a thesis |
| Traits | The traits a taker earned, as a set of pills |
| Universal axis | The bar every result module is built from |
| Universal orientation | The one definition of an orientation, and how it is read from the API |
Build order¶
The result modules lean on each other, so they are built in steps. Everything inside one step can be built at the same time; a step needs the ones above it only where the last column says so. Steps 0 to 3 are the result modules; steps 4 and up are the questionnaire.
| Step | Spec | Needs first |
|---|---|---|
| 0 | Universal axis | Nothing |
| 0 | Module wrapper | Nothing |
| 0 | Universal orientation | Nothing |
| 1 | Single axis chart | Universal axis, module wrapper |
| 1 | Double axis chart | Universal axis, module wrapper |
| 1 | Traits | Module wrapper |
| 1 | Header | Nothing |
| 1 | Horizontal bar chart | Universal axis, module wrapper |
| 2 | Multi axis chart | Double axis chart, for the lead rule |
| 2 | Archetype | Header, for the match bands; horizontal bar chart, for the ranked row |
| 3 | Nolan chart | Multi axis chart, for the axis row |
| 4 | Session and data | Universal orientation, for the reading of the API. Built as two units: the API, then the session |
| 5 | Answer model | Session and data |
| 5 | Progress and pacing | Session and data, for done and all |
| 5 | Demographics | Session and data |
| 6 | Phases model | Answer model, progress and pacing, demographics - the screen they fill |
| 7 | Results saving and marketing | Phases model. Its phase stays off until an endpoint exists |
| 7 | Engaging loader | Phases model, session and data |
| 7 | Event model | Session and data. Built as two units: the running state, then the engine |
| 8 | Random copy | Event model, for the seeded draw |
| 8 | Checkpoints | Phases model, event model |
| 9 | Halfway through | Checkpoints, random copy |
| 9 | Axis closeness | Checkpoints, random copy; universal axis, to which it adds the bar without value labels |
| 9 | New trait | Checkpoints, random copy; traits, for the pill. Its trigger cannot fire until the API marks traits |
| 9 | Nolan chart path | Checkpoints, random copy; Nolan chart, for the map |
| 9 | Stats chart | Checkpoints, random copy; answer model. Its trigger cannot fire until a source of answer counts exists |
| 10 | Single axis puzzle | Axis closeness, for the bar without value labels and the shared gate |
| 11 | Double axis puzzle | Single axis puzzle, for the option row and the bar without numbers; archetype, for the row a hit uncovers |
Four rules are written once and used by more than one module. Each lives in the spec that is built first:
- Lead rule - which side of a pair wins, and when it is a tie. In the double axis chart.
- Match bands - no match, partial match, match. In the header.
- Ranked row - a name, a badge and a one-sided bar. In the horizontal bar chart.
- Axis row - a heading naming an axis and its lead, over a double-sided bar. In the multi axis chart.