- examples/fixture-invoicing/: FastAPI + Vue + Postgres demo (4-entity invoice fixture)
- cfg/sample/: wraps the fixture (managed.repos points at examples/)
- ctrl/kind-{up,down,status}.sh + per-room k8s render in soleprint/ctrl/k8s/
- build.py: relative repo paths, resilient rmtree, optional k8s render hook
- cfg/.gitignore: stop ignoring sample/ and standalone/ template rooms
Manifests render cleanly but kind cluster has not been run end-to-end yet.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1.3 KiB
1.3 KiB
Fixture Invoicing
⚠ THIS IS A FIXTURE, NOT A PRODUCT. A deliberately minimal invoicing app used as a test surface for the Soleprint framework. Seed data is obviously placeholder ("Acme Widget Co.", "Test Customer 001"). Do not mistake this for real invoicing software.
What's here
backend/— FastAPI + SQLAlchemy against Postgresfrontend/— Vue 3 + Vite, three pages (customers, invoices, invoice detail)docker-compose.yml— backend + frontend + postgres as three containers
Entities
Customer ──< Invoice ──< LineItem
└──────< Payment
Customer— name, emailInvoice— number, customer_id (FK), issued_at, due_at, statusLineItem— invoice_id (FK), description, quantity, unit_pricePayment— invoice_id (FK), amount, method, paid_at
Run it standalone
cd examples/fixture-invoicing
docker compose up --build
- Backend: http://localhost:8100
- Frontend: http://localhost:3100
- Postgres: localhost:5532 (user
postgres, passwordfixture, dbfixture)
Run it wrapped by soleprint
The cfg/sample/ room wraps this fixture. See the main soleprint docs.
cd ../.. # back to repo root
python build.py --cfg sample
cd gen/sample && ./ctrl/start.sh