Architecture¶
Living description of how 961tech is built today. When the system changes structurally, the docs in this section change with the PR — not after.
Sections¶
| Page | What it answers |
|---|---|
| Overview | What runs where, the request flow, the major modules — system-level narrative |
| Use cases | Who can do what (UML use case diagram) |
| Data model | The domain entities, their relationships, invariants |
| Build lifecycle | States a Build moves through + how compat is evaluated |
| Listing lifecycle | States a scraped Listing moves through |
| Build flow | Sequence of building a PC end-to-end |
| Ingest pipeline | How retailer listings get into the catalog |
| Cart optimization | How the cart aggregator picks the cheapest split |
| Components | Deployable components and the interfaces between them |
| Deployment | Where each component runs in production |
| Packages | How the source code is organised under src/ |
What goes here vs in ADRs¶
The architecture docs describe the current state. ADRs describe how we got here. If you find yourself writing "we chose X because Y" in an architecture doc, that paragraph belongs in an ADR — link to it from the architecture doc instead of inlining.
Diagram conventions¶
Most diagrams are written in mermaid — text in the markdown file, renders in MkDocs Material and in GitHub's markdown viewer. drawio is reserved for diagrams mermaid can't express well (currently only the use case diagram, where proper UML actor/«include»/«extend» notation matters).
drawio sources live in diagrams/ alongside the rendered PNGs that are embedded into pages.