Skip to content

Build a typed GraphQL product collection workbench - #476

Draft
sdairs wants to merge 1 commit into
mainfrom
codex/product-graphql
Draft

sdairs wants to merge 1 commit into
mainfrom
codex/product-graphql

Conversation

@sdairs

@sdairs sdairs commented Oct 5, 2026

Copy link
Copy Markdown
Collaborator

Add Collection studio, a product catalogue and ordered collection workbench using GraphQL Yoga, Pothos, stable Drizzle, GraphQL Code Generator and urql. Users inspect nested variants, filter products, create collections, reorder contents and save. Atomic replacement rejects stale revisions, while repeatable-read snapshots keep each collection header and ordered products coherent.

Includes visible SQL roles/schema/seed, pinned dependencies, actual generated schema/operation types, clickhousectl setup and cleanup instructions, a real screenshot, and scoped CI that regenerates the contract and checks for drift. The app is a trusted local demo with synthetic data and no accounts or payments.

Validation in an isolated OrbStack VM passed against local Postgres 18 and a disposable ClickHouse Managed Postgres 18 service: typecheck/build, two input tests, seven database tests (86 assertions), and Chromium filter/variants/create/reorder/save/reload/conflict workflow. Measured nested catalogue reads use two SQL SELECTs for 1, 12 and 20 products. Concurrent replacement, rollback, snapshot coherence and restricted grants were tested. Actual process restart preserved all five fixture collections’ revisions, ordered items and variants. Verified managed TLS, unrelated-CA rejection and mismatched reachable-hostname rejection through the real pg connector. Disposable service deleted and confirmed absent; VM stopped.

Companion article remains local and outside Git. No public deployment or production query-complexity claim.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant