Skip to content
colis

Examples

Run it on your machine.

Everything in the repository runs locally against a MinIO container: nothing to sign up for, and the real code path. Start the delivery page, then send to it from a terminal.

a bucket on your laptop
docker run -p 9000:9000 -p 9001:9001 \
  -e MINIO_ROOT_USER=minioadmin -e MINIO_ROOT_PASSWORD=minioadmin \
  quay.io/minio/minio server /data --console-address ":9001"

01templates/drop

The delivery page, locally

The whole template on your machine, against a MinIO: drop a file, open it in another browser, approve it, and watch the receipt change on the sending page.

Worth noticing

  • The file staged before it goes: preview, lifetime, password, note
  • The pickup page: preview, password, then approve or ask for changes
  • The sender’s tracking, which updates on its own
  • Straight to the bucket in parts above DROP_MAX_SIZE_MB, resumable
Next.js@colis/core@colis/reactMinIO
run it
cp templates/drop/.env.example templates/drop/.env.local   # then uncomment its MinIO block
bun install
bun run --filter colis-drop dev                               # http://localhost:3400

02packages/cli

The CLI against your page

Send a file from a terminal to the delivery page running locally, then follow its delivery with colis statut while you answer in the browser.

Worth noticing

  • verifier against a server: a real round trip, and a non-zero exit when it fails
  • The code alone on stdout, everything else on stderr
  • statut: the state on the first line, then each step with its time
Node 20+colis
run it
bun run build
alias colis="node $PWD/packages/cli/dist/index.js"
colis --remote http://localhost:3400/api/transfers verifier
colis --remote http://localhost:3400/api/transfers envoyer ./maquette.pdf
colis --remote http://localhost:3400/api/transfers statut <code>

03packages/n8n-nodes-colis

The n8n node

Both nodes, Colis Trigger and Colis, built and tested without n8n: the logic lives in plain functions the nodes only wire in.

Worth noticing

  • The signature check with verifyWebhook, the same code that signs
  • An event you did not select answered 200 and starting nothing, so the deployment does not retry it
  • Send, Get, Get Status and Delete on a parcel
n8n@colis/protocolStandard Webhooks
run it
bun run --filter n8n-nodes-colis build   # dist/, and the icons beside the nodes
bun run --filter n8n-nodes-colis test    # both nodes, against a fake n8n context

Five minutes

From nothing to an approved parcel.

  1. 01

    Start MinIO with the command above, create a bucket, and uncomment the MinIO block in the delivery page’s .env.local.

  2. 02

    Start the delivery page, and check that it answers.

  3. 03

    Send a file, open its link in another browser, approve it, and read the receipt.

Send it. They sign off. You know.

Your storage, a delivery page under your name, a webhook at every step. Nothing hosted by someone else.