These diagrams represent how different VotingWorks systems function. They are meant to document systems in a variety of contexts, including:
- The abstract functions or behaviors of systems, ignoring specific parts
- User actions (or activities or behaviors), when they are using a system
- Ideas for design and redesign
- Final designs
- Helping identify failure modes
Diagrams of Scanner: Functions, Inputs/Outputs, and Modules
- Black box diagram (scanner hardware only): inputs and outputs
- Functional Diagram: System-level (physical hardware only, all details)
- Functional Diagram: System-level (physical hardware only, simplified)
- System Diagram: Scanner modules and inputs/outputs
Diagrams of Scanner, Ballot Receptacle, and Uninterrupted Power Supply (UPS) together
- Diagram of Scanner and Ballot Receptacle System Flows, Focusing on Inputs and Outputs, Functional I/O Only
- Diagram of Scanner and Ballot Receptacle System Flows
- Diagram of Scanner and Ballot Receptacle System Flows, Focusing on Inputs and Outputs
User Actions Diagrams
Other Diagrams
- Ballot receptacle
- Election suite
- Software
These are coded with Mermaid.js. Some notes on using this to make/edit/share diagrams:
- GitHub may not support the latest Mermaid.js syntax. TO be safe, use quotes-notation for labeling nodes and connections, e.g.
A["my label"]-->|"connector label"|["another one"]
- You can use Mermaid Live Editor to view, export, or modify the charts if they don't show on GitHub.
- You can use Mermad Flow to do the same, but you can also modify the charts in the interactive visualization directly.
GPLv3