Bounded Contexts
Bounded Context Diagram
Section titled “Bounded Context Diagram”This diagram mirrors the formal CML model and renders in GitHub, VS Code (Mermaid extension), or any Markdown viewer:
flowchart TB subgraph Core["Core Domains"] WM[Workforce Management<br/><i>Companies, Projects, Profiles, Licenses</i>] PM[Productivity<br/><i>Project Plans, Tasks, Daily Logs</i>] SC[Safety & Compliance<br/><i>Templates, Forms, Anomaly — Checkingmate & Saffer</i>] WMon[Worker Monitoring<br/><i>Presence, Active Worker, MIA, Biometrics</i>] AM[Asset Management<br/><i>Assets, Equipment, Tracking</i>] BS[Billing & Subscription<br/><i>Plans, Billing, Entitlements</i>] end
subgraph Support["Support Domains"] AR[Analytics & Reporting<br/><i>Reports, Exports, Dashboards, Predictive Analytics</i>] NOTIF[Notifications<br/><i>WhatsApp, Email, SMS</i>] end
subgraph IAM["Identity & Access"] IAC[Identity & Access<br/><i>AuthN, AuthZ & Keycloak</i>] end
WM -->|"ACL"| IAC PM -->|"ACL"| IAC SC -->|"ACL"| IAC WMon -->|"ACL"| IAC AM -->|"ACL"| IAC BS -->|"ACL"| IAC
WM -.->|"data"| AR PM -.->|"data"| AR SC -.->|"data"| AR WMon -.->|"data"| AR AM -.->|"data"| AR
WM -.->|"notifications"| NOTIF SC -.->|"notifications"| NOTIF WMon -.->|"notifications"| NOTIFBounded Contexts Reference
Section titled “Bounded Contexts Reference”| Context | Type | Description |
|---|---|---|
| WorkforceManagementContext | Core | Companies, Projects, Profiles, Licenses, Audit Logs |
| ProductivityContext | Core | Project Plans, Tasks, Daily Work Logs, Productivity Analytics |
| SafetyAndComplianceContext | Core | Safety Templates, Forms, Anomaly Detection, Compliance Monitoring — Checkingmate & Saffer apps |
| WorkerMonitoringContext | Core | Active Worker Tracking, Presence, MIA Alerts, Site Biometrics |
| AssetManagementContext | Core | Asset Registry, Equipment Tracking, Assignment |
| BillingAndSubscriptionContext | Core | Subscription Management, Billing, Plan Entitlements |
| AnalyticsAndReportingContext | Support | Cross-domain Dashboards, Reports, Exports, Predictive Analytics |
| NotificationsContext | Support | WhatsApp, Email, SMS |
| IdentityAndAccessContext | Shared | Authentication & Authorization (Flask, Keycloak) |
Visual Map
Section titled “Visual Map”Formal CML Model
Section titled “Formal CML Model”Download the full Context Mapper model: angelis-context-map.cml
Generating Diagrams from CML
Section titled “Generating Diagrams from CML”If diagram generation fails, the Context Map Generator requires:
-
Graphviz — Install and add to PATH:
- macOS:
brew install graphviz - Linux:
apt install graphvizoryum install graphviz - Verify:
dot -V
- macOS:
-
IDE setup:
- VS Code: Context Mapper extension → right-click in
.cmlfile → Generate Context Map - Eclipse: Context Mapper plugin → same workflow
- VS Code: Context Mapper extension → right-click in
-
Alternative: Context Mapper CLI (no IDE needed):
Terminal window # Download: https://repo1.maven.org/maven2/org/contextmapper/context-mapper-cli/6.12.0/./cm validate -i docs/angelis-context-map.cml./cm generate -i docs/angelis-context-map.cml -g context-map -o docs/src-gen./cm generate -i docs/angelis-context-map.cml -g plantuml -o docs/src-gen(Requires Java 17+ and Graphviz for context-map generator.)