Skip to content

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.