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:
%%{init: {'theme': 'base', 'themeVariables': {'primaryColor': '#a5d8ff', 'primaryBorderColor': '#4a9eed', 'primaryTextColor': '#1e1e1e', 'lineColor': '#4a9eed'}, 'flowchart': {'rankSpacing': 1, 'nodeSpacing': 30, 'padding': 4}}}%%flowchart TB subgraph Shared["Shared"] direction TB subgraph SR1[" "] direction LR IAC["Identity & Access"] ~~~ PREF["Preferences"] ~~~ AUDIT["Audit Log"] end subgraph SR2[" "] direction LR SP1["Identity & Access"] ~~~ WF["Workflow Management"] ~~~ SP2["Identity & Access"] end SR1 ~~~ SR2 end
subgraph Core["Core Domains"] direction TB subgraph CR1[" "] direction LR WM["Workforce Management"] ~~~ PM["Productivity"] ~~~ SC["Safety & Compliance"] end subgraph CR2[" "] direction LR WMon["Worker Monitoring"] ~~~ AM["Asset Management"] ~~~ BS["Billing & Subscription"] end CR1 ~~~ CR2 end
subgraph Support["Support Domains"] direction TB subgraph SUP1[" "] direction LR AR["Analytics & Reporting"] ~~~ NOTIF["Notifications"] ~~~ COMM["Communication"] end subgraph SUP2[" "] direction LR EX["Exception Management"] ~~~ PRED["Prediction Engine"] ~~~ INT["Integrations"] end SUP1 ~~~ SUP2 end
GSEP1["<br/><br/><br/>"] GSEP2["<br/><br/><br/>"]
Shared ~~~ GSEP1 GSEP1 ~~~ Core Core ~~~ GSEP2 GSEP2 ~~~ Support
classDef shared fill:#a5d8ff,stroke:#6d28d9,stroke-width:2px,color:#1e1e1e,font-size:15px,padding:12px classDef core fill:#a5d8ff,stroke:#4a9eed,stroke-width:2px,color:#1e1e1e,font-size:15px,padding:12px classDef support fill:#d0bfff,stroke:#f08c00,stroke-width:2px,color:#1e1e1e,font-size:15px,padding:12px classDef spacer fill:#e5dbff,stroke:#e5dbff,color:#e5dbff,font-size:15px,padding:12px classDef gap fill:none,stroke:none,color:transparent
class IAC,PREF,AUDIT,WF shared class WM,PM,SC,WMon,AM,BS core class AR,NOTIF,COMM,EX,PRED,INT support class SP1,SP2 spacer class GSEP1,GSEP2 gap
style Shared fill:#e5dbff,stroke:#6d28d9,stroke-width:2px,color:#6d28d9 style Core fill:#dbe4ff,stroke:#4a9eed,stroke-width:2px,color:#2563eb style Support fill:#fff3bf,stroke:#f08c00,stroke-width:2px,color:#d97706 style SR1 fill:#e5dbff,stroke:none,color:#e5dbff style SR2 fill:#e5dbff,stroke:none,color:#e5dbff style CR1 fill:#dbe4ff,stroke:none,color:#dbe4ff style CR2 fill:#dbe4ff,stroke:none,color:#dbe4ff style SUP1 fill:#fff3bf,stroke:none,color:#fff3bf style SUP2 fill:#fff3bf,stroke:none,color:#fff3bfBounded 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.)