Skip to content
No description, website, or topics provided.
JavaScript CSS Dockerfile
Branch: master
Clone or download

OpenWork board

A Kanban board backed by a DAML ledger, inspired by Trello and based on react-kanban.

Check out the live website


  • It has most of the features available on Trello, like creating and editing new cards, dragging around cards and so on.
  • Supports GitHub flavored markdown, which enables stuff like headings and checklists on the cards.
  • Works great on touch devices.
  • Public and private boards, with sharing functionality
  • Fully backed by a DAML ledger

Tech stack


You need

  • the DAML SDK
  • A Google Cloud project with API access for Google Auth
  • Node.js v12

Clone & Install Dependencies

git clone
cd danban
npm install

Start DAML Sandbox

daml build --project-root danban/V2
daml build --project-root danban/V2Bugfix
daml build --project-root danban/V3

cd danban/Upgrade/V3

daml start --sandbox-option="--ledgerid=danban" --sandbox-option="-w"

Set up Environment

You need auth credentials for the Google sign in. You need to create a file with the name .env in the root directory with the following variables:


# Has to be True for Sandbox mode

# If $PORT is unset it will default to 1337

Run in dev mode

npm run build:watch
npm run start:watch

Run in test mode

npm run build
npm run start

Run in prod mode

npm run build:prod
npm run start:prod

Run on Project DABL

DABL is a cloud hosted runtime for DAML code. To deploy your models create an account, log in, and create a new ledger. You'll need to create a .dar of the DAML model:

cd danban/Upgrade/V3
daml build

Upload the .dar danban/Upgrade/V3/.daml/dist/danban-upgrade-3.0.0.dar to the new ledger.

Using the Dockerfile generate a Docker image and upload to your preferred host (for example, GCP Run). The environment variables should be as follows:


The REFRESH_COOKIE can be found by inspecting your browser cookies for If there are 2, it will be the one for the /auth path.

You can’t perform that action at this time.