# temporalio/workshop-nexus-intro-code architecture

> Architecture diagram of the GitHub repository temporalio/workshop-nexus-intro-code, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-11). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/temporalio/workshop-nexus-intro-code
- Repository: https://github.com/temporalio/workshop-nexus-intro-code

## Overview

This repository is a Temporal Nexus workshop, not a single deployed application: successive chapter snapshots teach a payment workflow to use a separately operated compliance service. The principal flow validates a payment, requests a compliance decision, and executes or declines payment; later chapters add workflow-backed asynchronous checks, reviewer updates, and lifecycle failure scenarios. The Java worker demonstrates replacing the Python compliance implementation. Edges below use the excerpts, SOURCE INDEX references, and README; unsampled chapter details are represented only where documented.

Main entry points: [`exercises/06_updates/exercise/payments/workflows.py`](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/payments/workflows.py) (Payment Workflow), [`exercises/07_lifecycle/solution/compliance/service_handler.py`](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/07_lifecycle/solution/compliance/service_handler.py) (Python Nexus Handler), [`exercises/06_updates/exercise/compliance/workflows.py`](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/compliance/workflows.py) (Compliance Workflow), [`polyglot/java-legacy/src/main/java/compliance/temporal/ComplianceNexusServiceImpl.java`](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/polyglot/java-legacy/src/main/java/compliance/temporal/ComplianceNexusServiceImpl.java) (Java Nexus Handler)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_payments["Payments"]
  node_starter["Payment Starter<br/>[starter.py]"]
  node_payment_flow["Payment Workflow<br/>[workflows.py]"]
  node_payment_activities["Payment Activities<br/>[activities.py]"]
  node_payment_models["Payment Models<br/>[models.py]"]
end

subgraph group_compliance["Compliance"]
  node_compliance_workflow["Compliance Workflow<br/>[workflows.py]"]
  node_compliance_activity["Risk Check<br/>[activities.py]"]
  node_compliance_models["Compliance Models<br/>[models.py]"]
  node_python_handler["Python Nexus Handler<br/>[service_handler.py]"]
end

subgraph group_nexus["Nexus Contract"]
  node_review_request["Review Request<br/>[models.py]"]
  node_nexus_service["Service Contract<br/>[service.py]"]
end

subgraph group_workshop["Workshop Variants"]
  node_java_handler["Java Nexus Handler"]
  node_java_contract["Java Contract"]
  node_chapter_variants["Chapter Snapshots"]
  node_topology_sandbox["Topology Sandbox<br/>[index.html]"]
end

node_operator(("Workshop User"))
node_temporal[("Temporal Server")]

node_operator -->|"runs"| node_starter
node_starter -.->|"starts workflow"| node_payment_flow
node_payment_flow -->|"executes activities"| node_payment_activities
node_payment_flow -->|"calls compliance"| node_nexus_service
node_python_handler -->|"implements contract"| node_nexus_service
node_python_handler -->|"starts workflow"| node_compliance_workflow
node_compliance_workflow -->|"executes check"| node_compliance_activity
node_python_handler -->|"sends review update"| node_compliance_workflow
node_payment_flow -.->|"accepts review request"| node_review_request
node_temporal -.->|"runs workflow"| node_payment_flow
node_temporal -.->|"routes operations"| node_python_handler
node_java_handler -->|"implements contract"| node_java_contract
node_operator -->|"explores topology"| node_topology_sandbox
node_operator -->|"completes chapters"| node_chapter_variants
node_java_handler -.->|"replaces Python worker"| node_temporal

click node_starter "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/07_lifecycle/solution/payments/starter.py"
click node_payment_flow "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/payments/workflows.py"
click node_payment_activities "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/payments/activities.py"
click node_payment_models "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/payments/models.py"
click node_compliance_workflow "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/compliance/workflows.py"
click node_compliance_activity "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/compliance/activities.py"
click node_compliance_models "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/compliance/models.py"
click node_python_handler "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/07_lifecycle/solution/compliance/service_handler.py"
click node_review_request "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/shared/models.py"
click node_nexus_service "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/shared/service.py"
click node_java_handler "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/polyglot/java-legacy/src/main/java/compliance/temporal/ComplianceNexusServiceImpl.java"
click node_java_contract "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/polyglot/java-legacy/src/main/java/shared/nexus/ComplianceNexusService.java"
click node_chapter_variants "https://github.com/temporalio/workshop-nexus-intro-code/tree/main/exercises"
click node_topology_sandbox "https://github.com/temporalio/workshop-nexus-intro-code/blob/main/game/index.html"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_starter,node_payment_flow,node_payment_activities,node_payment_models,node_operator toneBlue
class node_compliance_workflow,node_compliance_activity,node_compliance_models,node_python_handler,node_temporal toneAmber
class node_review_request,node_nexus_service toneMint
class node_java_handler,node_java_contract,node_chapter_variants,node_topology_sandbox toneRose
```

## Components

### Payments

- [Payment Starter](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/07_lifecycle/solution/payments/starter.py): `exercises/07_lifecycle/solution/payments/starter.py`
- [Payment Workflow](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/payments/workflows.py): `exercises/06_updates/exercise/payments/workflows.py`
- [Payment Activities](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/payments/activities.py): `exercises/06_updates/exercise/payments/activities.py`
- [Payment Models](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/payments/models.py): `exercises/06_updates/exercise/payments/models.py`

### Compliance

- [Compliance Workflow](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/compliance/workflows.py): `exercises/06_updates/exercise/compliance/workflows.py`
- [Risk Check](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/compliance/activities.py): `exercises/06_updates/exercise/compliance/activities.py`
- [Compliance Models](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/compliance/models.py): `exercises/06_updates/exercise/compliance/models.py`
- [Python Nexus Handler](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/07_lifecycle/solution/compliance/service_handler.py): `exercises/07_lifecycle/solution/compliance/service_handler.py`

### Nexus Contract

- [Review Request](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/shared/models.py): `exercises/06_updates/exercise/shared/models.py`
- [Service Contract](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/exercises/06_updates/exercise/shared/service.py): `exercises/06_updates/exercise/shared/service.py`

### Workshop Variants

- [Java Nexus Handler](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/polyglot/java-legacy/src/main/java/compliance/temporal/ComplianceNexusServiceImpl.java): `polyglot/java-legacy/src/main/java/compliance/temporal/ComplianceNexusServiceImpl.java`
- [Java Contract](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/polyglot/java-legacy/src/main/java/shared/nexus/ComplianceNexusService.java): `polyglot/java-legacy/src/main/java/shared/nexus/ComplianceNexusService.java`
- [Chapter Snapshots](https://github.com/temporalio/workshop-nexus-intro-code/tree/main/exercises): `exercises`
- [Topology Sandbox](https://github.com/temporalio/workshop-nexus-intro-code/blob/main/game/index.html): `game/index.html`

### Other components

- **Workshop User**
- **Temporal Server**

## Connections

- Workshop User → Payment Starter: runs (evidence: `README.md`)
- Payment Starter → Payment Workflow: starts workflow
- Payment Workflow → Payment Activities: executes activities (evidence: `exercises/06_updates/exercise/payments/workflows.py`)
- Payment Workflow → Service Contract: calls compliance (evidence: `exercises/06_updates/exercise/payments/workflows.py`)
- Python Nexus Handler → Service Contract: implements contract (evidence: `exercises/07_lifecycle/solution/compliance/service_handler.py`)
- Python Nexus Handler → Compliance Workflow: starts workflow (evidence: `exercises/07_lifecycle/solution/compliance/service_handler.py`)
- Compliance Workflow → Risk Check: executes check (evidence: `exercises/06_updates/exercise/compliance/workflows.py`)
- Python Nexus Handler → Compliance Workflow: sends review update (evidence: `exercises/07_lifecycle/solution/compliance/service_handler.py`)
- Payment Workflow → Review Request: accepts review request
- Temporal Server → Payment Workflow: runs workflow
- Temporal Server → Python Nexus Handler: routes operations
- Java Nexus Handler → Java Contract: implements contract (evidence: `polyglot/java-legacy/src/main/java/compliance/temporal/ComplianceNexusServiceImpl.java`)
- Workshop User → Topology Sandbox: explores topology (evidence: `README.md`)
- Workshop User → Chapter Snapshots: completes chapters (evidence: `README.md`)
- Java Nexus Handler → Temporal Server: replaces Python worker
