- templates/models: C4 - Standard Web App, C4 - E-Shop, C4 - Event-Based Integration; each a complete model (main.archify, registry, context, containers, components) that validates - archify.newModel: pick an example and a folder name, copy it, name the model after the folder, open the model page - Explorer menu: New Model… on folders, Open Model on .archify and .archify-registry files; File → New File… lists New Model… - unit test validates every example end to end; integration test runs the command; README, CHANGELOG, docs/model.md
38 lines
962 B
Plaintext
38 lines
962 B
Plaintext
schema_version: 1
|
|
elements:
|
|
web:
|
|
type: frontend
|
|
label: Web App
|
|
sublabel: React
|
|
brand: react
|
|
description: The shop as customers see it; talks only to the API.
|
|
api:
|
|
type: backend
|
|
label: API
|
|
sublabel: Node.js
|
|
brand: node-js
|
|
description: Owns authentication, orders and the catalogue.
|
|
diagram: 0300-components/api.archify
|
|
worker:
|
|
type: backend
|
|
label: Worker
|
|
sublabel: async jobs
|
|
description: Picks jobs from the queue; emails, invoices, exports.
|
|
queue:
|
|
type: messagebus
|
|
label: Queue
|
|
sublabel: SQS
|
|
description: Job queue between the API and the workers.
|
|
db:
|
|
type: database
|
|
label: Database
|
|
sublabel: PostgreSQL
|
|
brand: postgresql
|
|
description: Orders, customers and catalogue; the source of truth.
|
|
cache:
|
|
type: database
|
|
label: Cache
|
|
sublabel: Redis
|
|
brand: redis
|
|
description: Sessions and catalogue cache; nothing here is the source of truth.
|