Add Archify | New Model… with three C4 examples and Open Model in the Explorer menu
- 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
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
schema_version: 1
|
||||
elements:
|
||||
spa:
|
||||
type: frontend
|
||||
label: Single-page app
|
||||
sublabel: React
|
||||
brand: react
|
||||
description: The user interface; talks only to the API.
|
||||
api:
|
||||
type: backend
|
||||
label: API
|
||||
sublabel: Node.js
|
||||
brand: node-js
|
||||
description: Owns accounts, content and files; checks tokens from the identity provider.
|
||||
diagram: 0300-components/api.archify
|
||||
db:
|
||||
type: database
|
||||
label: Database
|
||||
sublabel: PostgreSQL
|
||||
brand: postgresql
|
||||
description: Accounts and content; the source of truth.
|
||||
cache:
|
||||
type: database
|
||||
label: Cache
|
||||
sublabel: Redis
|
||||
brand: redis
|
||||
description: Sessions and hot content; safe to lose.
|
||||
storage:
|
||||
type: cloud
|
||||
label: Object storage
|
||||
sublabel: uploaded files
|
||||
description: User uploads and generated exports.
|
||||
@@ -0,0 +1,12 @@
|
||||
schema_version: 1
|
||||
elements:
|
||||
user:
|
||||
type: external
|
||||
label: User
|
||||
sublabel: browser
|
||||
description: Anyone with an account; uses the application from a browser.
|
||||
admin:
|
||||
type: external
|
||||
label: Administrator
|
||||
sublabel: back office
|
||||
description: Manages users and content from the same application with extra rights.
|
||||
@@ -0,0 +1,18 @@
|
||||
schema_version: 1
|
||||
elements:
|
||||
webapp:
|
||||
type: cloud
|
||||
label: Web Application
|
||||
sublabel: the system
|
||||
description: Everything we build and run; the single-page app, the API and its stores.
|
||||
diagram: 0200-containers/web-app.archify
|
||||
idp:
|
||||
type: external
|
||||
label: Identity provider
|
||||
sublabel: OpenID Connect
|
||||
description: Signs users in and issues tokens; we never store passwords.
|
||||
email:
|
||||
type: external
|
||||
label: Email service
|
||||
sublabel: transactional mail
|
||||
description: Sends sign-up confirmations and notifications.
|
||||
Reference in New Issue
Block a user