Skip to main content
Use an external Git repository connected to a Domino Git-based Project. Follow Create a Git-based Project, and add Git credentials only for a private repository or Workspace pushes. Build a simple Dash App and logistic regression model for reviewing 300 synthetic transactions. Do not use either in production. Follow Create a Domino Environment and Customize your Environment during the Environment exercise.
In 6.3, this App Preview and versioning workflow requires EnableAppsSDLC, which is enabled by default. Direct Dataset mounts require dataset.mountingEnabledInApps.

Project files

  1. generate_data.py generates 300 transactions with synthetic routes and writes them to a Dataset.
  2. model.py trains the model, logs the run with MLflow, saves the model, and defines the endpoint function.
  3. app.py creates the transaction review interface, calls the endpoint, and records session decisions.
  4. app.sh starts the App for preview and deployment.
Domino connects these four small files to durable data, reproducible compute, experiment history, an authenticated model service, and a shareable App.

How the solution fits together

Configure the Compute Environment

Your Domino deployment must allow Datasets to mount in Apps. A Compute Environment gives every compute stage the same software stack. The separate Hardware Tier controls its compute resources. Create the tutorial Compute Environment:
  1. Open Govern > Environments and select Create Environment.
  2. Name the Environment Synthetic Transaction Review and use the Domino Standard Environment as its base.
  3. Select Customize before Building.
  4. Add these Dockerfile instructions:
  1. Create the Environment and wait for its first revision to change to Succeeded.
  2. Use this revision and a small CPU Hardware Tier for the Workspace, endpoint, and App.

Build the transaction review App

1

Generate data in a Domino Dataset

In the Git-based Project, create a writable Dataset named AML. Start a Workspace from your Git branch with the tutorial Environment revision and CPU Hardware Tier.The Dataset outlives the Workspace, so Jobs and Apps can use the same records.Add generate_data.py to the repository.
generate_data.py
Commit and push the file, then run:
The script writes 300 fixed-seed records to /mnt/data/AML/transactions.csv. Open the Dataset and confirm that the file exists.
Domino Workspace showing the transaction review files, mounted AML Dataset, and terminal confirmation that 300 synthetic transactions were generated.
2

Train and deploy the model

Add model.py to the repository, then commit and push it.
model.py
The Job makes training repeatable outside the Workspace. Domino retains its logs and Artifacts, and MLflow records the run.Start a Job with the tutorial Environment revision and CPU Hardware Tier. Use this command:
The Job trains one logistic regression model and writes transaction-review-model.pkl to its Artifacts.Download transaction-review-model.pkl from the Job’s Artifacts, place it beside model.py, then commit and push it. In Deployments > Endpoints, create a synchronous endpoint. The latest default-branch commit packages the trained artifact with its scoring code.
  • File: model.py
  • Function: score_transaction
  • Environment: the revision used by the Workspace
  • Hardware Tier: a small CPU tier
  • Instances: 1
  • Access: require an access token
Test the endpoint with one synthetic record:
The response’s result object contains transaction_id, risk_score, review_priority, and review_indicators. The endpoint lets the App request scores without loading or training the model.
3

Preview the App in the Workspace

Add app.py and app.sh to the repository.
app.py
app.sh
Commit and push both files. App Preview runs that commit with the selected Environment, Hardware Tier, and Dataset mount before you publish a version.Create these Project environment variables. Keep their values out of Git and screenshots.
Open App Preview in the Workspace and use app.sh as the entry point. Select the tutorial Environment revision and CPU Hardware Tier, and keep the AML Dataset mounted.Select Review beside a transaction to call the endpoint. Select Approve or Flag to record a decision for the browser session.
App Preview settings beside the Synthetic Transaction Review App with a scored transaction.
4

Deploy the App

Publish the Draft App as Synthetic Transaction Review and confirm that it includes the AML Dataset mount. The immutable version pins the Git commit, entry point, Compute Environment revision, and Dataset configuration. Publishing does not deploy it.Select the version, configure its Hardware Tier and audience, then deploy it.
Synthetic Transaction Review App overview showing a running version, runtime metrics, Compute Environment, and Hardware Tier.
Open the shared URL and score one transaction. Earlier versions remain available for rollback.
Deployed Synthetic Transaction Review App with a review queue, scored transaction details, decision buttons, and a transaction volume chart.
Stop the Workspace, App, and endpoint when you finish.
Last modified on August 27, 2026