Files
fixture-tools/docs/ARCHITECTURE.md
T
2026-09-01 13:03:32 +02:00

21 lines
1.2 KiB
Markdown

# Architecture
Fixture Tools is a relocatable React application with a framework-independent
TypeScript core. Bounded import adapters turn JSON Schema, SQL DDL, XSD, CSV
headings, and saved recipes into one normalized model. The editor works only on
that inert model: imported SQL is never executed, XML entities are rejected,
and no reference is fetched.
Generation starts from a stable text-seeded pseudo-random stream. It creates
ordinary fields first, applies requested non-reference invalid cases, resolves
foreign keys against already generated target rows, and finally applies any
requested foreign-key violations. Uniqueness bookkeeping and a separate
violation ledger make the valid and negative-test paths explicit. Serializers
operate over the resulting bounded dataset and enforce an 8 MiB output cap.
The app deliberately uses a focused schema subset instead of claiming full
standards conformance. Limits are 2 MiB per source, 20 tables, 100 fields per
table, 10,000 rows per table, and 50,000 rows overall. These bounds keep parsing,
editing, rendering, and download generation responsive in a browser tab. A
second 100,000-value ceiling prevents wide models from defeating the row limit.