Skip to content

Commit a311abf

Browse files
Merge pull request #1983 from markscott-ms:calm-architecture
docs(docs): Define CALM in CALM
2 parents dfcb78d + 08d9d64 commit a311abf

File tree

1 file changed

+182
-0
lines changed

1 file changed

+182
-0
lines changed

calm/architecture/calm.json

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,182 @@
1+
{
2+
"$schema": "https://calm.finos.org/release/1.1/meta/calm.json",
3+
"nodes": [
4+
{
5+
"unique-id": "calm-user",
6+
"node-type": "actor",
7+
"name": "CALM User",
8+
"description": "User working with CALM architectures through various tools and interfaces"
9+
},
10+
{
11+
"unique-id": "calm-cli",
12+
"node-type": "service",
13+
"name": "CALM CLI",
14+
"description": "Command-line interface for CALM operations including validation, generation, visualization, and documentation",
15+
"development-language": "TypeScript"
16+
},
17+
{
18+
"unique-id": "calm-vscode",
19+
"node-type": "service",
20+
"name": "VSCode Extension",
21+
"description": "Visual Studio Code extension providing IDE integration for CALM architectures with syntax highlighting, validation, and visualization",
22+
"development-language": "TypeScript"
23+
},
24+
{
25+
"unique-id": "calm-hub",
26+
"node-type": "service",
27+
"name": "CALM Hub API",
28+
"description": "Central registry and API service for CALM architectures, patterns, and standards built with Quarkus",
29+
"development-language": "Java",
30+
"interfaces": [
31+
{
32+
"unique-id": "calm-hub-rest-api",
33+
"type": "api"
34+
}
35+
]
36+
},
37+
{
38+
"unique-id": "calm-hub-ui",
39+
"node-type": "system",
40+
"name": "CALM Hub UI",
41+
"description": "React-based web interface for browsing and managing CALM architectures, patterns, and standards",
42+
"development-language": "TypeScript"
43+
},
44+
{
45+
"unique-id": "mongodb",
46+
"node-type": "database",
47+
"name": "MongoDB",
48+
"description": "Document database for storing CALM architectures, patterns, and standards in CALM Hub",
49+
"interfaces": [
50+
{
51+
"unique-id": "mongodb-port",
52+
"type": "port-interface",
53+
"port": 27017
54+
}
55+
]
56+
},
57+
{
58+
"unique-id": "calm-hub-system",
59+
"node-type": "system",
60+
"name": "CALM Hub System",
61+
"description": "Complete CALM Hub system including API backend, web UI, and database"
62+
},
63+
{
64+
"unique-id": "vscode",
65+
"node-type": "system",
66+
"name": "Visual Studio Code",
67+
"description": "Microsoft Visual Studio Code IDE"
68+
}
69+
],
70+
"relationships": [
71+
{
72+
"unique-id": "user-interacts-with-ui",
73+
"description": "CALM user interacts with CALM Hub UI through web browser",
74+
"relationship-type": {
75+
"interacts": {
76+
"actor": "calm-user",
77+
"nodes": [
78+
"calm-hub-ui"
79+
]
80+
}
81+
}
82+
},
83+
{
84+
"unique-id": "user-interacts-with-cli",
85+
"description": "CALM user interacts with CALM CLI through command line",
86+
"relationship-type": {
87+
"interacts": {
88+
"actor": "calm-user",
89+
"nodes": [
90+
"calm-cli"
91+
]
92+
}
93+
}
94+
},
95+
{
96+
"unique-id": "user-interacts-with-vscode",
97+
"description": "CALM user interacts with VSCode extension through IDE",
98+
"relationship-type": {
99+
"interacts": {
100+
"actor": "calm-user",
101+
"nodes": [
102+
"calm-vscode"
103+
]
104+
}
105+
}
106+
},
107+
{
108+
"unique-id": "cli-to-hub",
109+
"description": "CLI interacts with CALM Hub API REST endpoint for publishing and retrieving architectures",
110+
"relationship-type": {
111+
"connects": {
112+
"source": {
113+
"node": "calm-cli"
114+
},
115+
"destination": {
116+
"node": "calm-hub",
117+
"interface": "calm-hub-rest-api"
118+
}
119+
}
120+
},
121+
"protocol": "HTTPS"
122+
},
123+
{
124+
"unique-id": "hub-to-db",
125+
"description": "CALM Hub API stores and retrieves data from MongoDB",
126+
"relationship-type": {
127+
"connects": {
128+
"source": {
129+
"node": "calm-hub"
130+
},
131+
"destination": {
132+
"node": "mongodb",
133+
"interface": "mongodb-port"
134+
}
135+
}
136+
},
137+
"protocol": "TCP"
138+
},
139+
{
140+
"unique-id": "hub-ui-to-hub",
141+
"description": "CALM Hub UI interacts with CALM Hub API via REST endpoint",
142+
"relationship-type": {
143+
"connects": {
144+
"source": {
145+
"node": "calm-hub-ui"
146+
},
147+
"destination": {
148+
"node": "calm-hub",
149+
"interface": "calm-hub-rest-api"
150+
}
151+
}
152+
},
153+
"protocol": "HTTPS"
154+
},
155+
{
156+
"unique-id": "hub-system-composition",
157+
"description": "CALM Hub System is composed of API backend, web UI, and database",
158+
"relationship-type": {
159+
"composed-of": {
160+
"container": "calm-hub-system",
161+
"nodes": [
162+
"calm-hub",
163+
"calm-hub-ui",
164+
"mongodb"
165+
]
166+
}
167+
}
168+
},
169+
{
170+
"unique-id": "vscode-composition",
171+
"description": "VSCode contains the CALM extension",
172+
"relationship-type": {
173+
"deployed-in": {
174+
"container": "vscode",
175+
"nodes": [
176+
"calm-vscode"
177+
]
178+
}
179+
}
180+
}
181+
]
182+
}

0 commit comments

Comments
 (0)