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

README.md

OpenWork board

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

Check out the live website

Features

  • 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

Development

You need

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

Clone & Install Dependencies

git clone https://github.com/digital-asset/danban.git
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:

GOOGLE_CLIENT_ID=xxx
GOOGLE_CLIENT_SECRET=xxx

# Has to be True for Sandbox mode
USE_SANDBOX="True"

# If $PORT is unset it will default to 1337
ROOT_URL=http://127.0.0.1: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:

GOOGLE_CLIENT_ID="{GOOGLE_CLIENT_ID}"
GOOGLE_CLIENT_SECRET="{GOOGLE_CLIENT_SECRET}"
DABL_LEDGER="{DABL_LEDGER_ID}"
DABL_ADMIN="{DABL_PARTY_ID}"
REFRESH_COOKIE="DABL_SESSION={YOUR_COOKIE}"

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

You can’t perform that action at this time.