Numbered cards for the text sections (1.1-1.3, 2, 4, 11, 12) on the overview, domain interfaces on the technical context, black-box descriptions for every building block, blocks mapped to nodes in the deployment view, crosscutting concepts on level 1, and a 1000-quality folder with the quality tree. The example test checks each section's card.
73 lines
2.3 KiB
Plaintext
73 lines
2.3 KiB
Plaintext
schema_version: 1
|
|
elements:
|
|
web:
|
|
type: frontend
|
|
label: Web Shop
|
|
sublabel: React
|
|
brand: react
|
|
description: >
|
|
Responsibility: programme, seat map and checkout in the browser.
|
|
Interfaces: provides the web UI; requires Booking API (JSON)
|
|
and the provider's hosted checkout page.
|
|
mobile:
|
|
type: frontend
|
|
label: Mobile App
|
|
sublabel: iOS and Android
|
|
description: >
|
|
Responsibility: the web shop's booking flow plus a ticket wallet.
|
|
Interfaces: provides the iOS/Android UI; requires Booking API
|
|
(JSON).
|
|
scanner:
|
|
type: frontend
|
|
label: Scanner App
|
|
sublabel: door phones
|
|
description: >
|
|
Responsibility: reads QR codes at the door, checks signatures
|
|
offline. Interfaces: provides the usher UI; requires Ticket
|
|
Service (POST /checkins), queued while offline.
|
|
booking:
|
|
type: backend
|
|
label: Booking API
|
|
sublabel: Node.js
|
|
brand: node-js
|
|
description: >
|
|
Responsibility: shows, seat maps, holds and orders; the only
|
|
writer of the seat inventory. Interfaces: provides REST JSON to
|
|
the apps and the payment webhook; requires Seat Locks, Tickets
|
|
DB, payment provider, Ticket Service.
|
|
diagram: 0500-building-blocks/booking.archify
|
|
ticketing:
|
|
type: backend
|
|
label: Ticket Service
|
|
sublabel: QR, check-in
|
|
description: >
|
|
Responsibility: issues signed QR tickets, mails them and records
|
|
check-ins. Interfaces: provides issue and POST /checkins;
|
|
requires Tickets DB and the e-mail service (SMTP).
|
|
possync:
|
|
type: backend
|
|
label: POS Sync
|
|
sublabel: adapter
|
|
description: >
|
|
Responsibility: exchanges seat sales with the box-office POS.
|
|
Interfaces: provides a REST adapter to the POS over VPN;
|
|
requires Tickets DB (SQL).
|
|
seatlock:
|
|
type: database
|
|
label: Seat Locks
|
|
sublabel: Redis
|
|
brand: redis
|
|
description: >
|
|
Responsibility: short-lived seat holds with a TTL while the
|
|
customer pays. Interfaces: provides Redis SET NX/GET/DEL to the
|
|
Booking API; requires nothing.
|
|
db:
|
|
type: database
|
|
label: Tickets DB
|
|
sublabel: PostgreSQL
|
|
brand: postgresql
|
|
description: >
|
|
Responsibility: shows, seats, orders and tickets; the source of
|
|
truth. Interfaces: provides SQL to Booking API, Ticket Service
|
|
and POS Sync; requires nothing.
|