2
Fork 0
Simple card sorting
Find a file
Marcus Kammer 948f765532
feat(views): migrate UI layer to ml-sbt Bootstrap components
Replace local spinneret components (bst-page, bst-empty-state) with
the dev.metalisp.sbt component library. Views now compose from
ml-sbt:with-page, ml-sbt/navbar:with-navbar, and ml-sbt/alert
components. Add with-cardsort-page macro to centralize page layout.

Update all view handlers (studies, sort, results) to use ml-sbt
components: btn, alert, card, form, progress-bar, list-group, and
table renderers. Add .gitignore for the binary output.
2026-08-16 15:01:31 +02:00
doc feat(views): migrate UI layer to ml-sbt Bootstrap components 2026-08-16 15:01:31 +02:00
src feat(views): migrate UI layer to ml-sbt Bootstrap components 2026-08-16 15:01:31 +02:00
tests Init commit 2026-08-16 11:37:48 +02:00
.gitignore feat(views): migrate UI layer to ml-sbt Bootstrap components 2026-08-16 15:01:31 +02:00
dev.metalisp.cardsort.asd feat(views): migrate UI layer to ml-sbt Bootstrap components 2026-08-16 15:01:31 +02:00
justfile Init commit 2026-08-16 11:37:48 +02:00
LICENSE Init commit 2026-08-16 11:37:48 +02:00
README.org feat(views): migrate UI layer to ml-sbt Bootstrap components 2026-08-16 15:01:31 +02:00

dev.metalisp.cardsort

ml-cardsort

ml-cardsort is a web application for running open card sorting studies and analyzing the results.

Participants receive a link, sort cards into self-chosen groups by clicking, and the application computes how often each pair of cards was grouped together.

Prerequisites

  • Fedora Linux
  • SBCL
  • Quicklisp (installed in ~/quicklisp)
  • Just
  • dev.metalisp.sbt in ~/quicklisp/local-projects (Bootstrap component library)

All other Lisp dependencies are fetched from Quicklisp automatically.

Quickstart

# Run the test suite
just tests

# Build and start the server
just run

Then open http://127.0.0.1:8081 in a browser.

Other recipes:

just repl    # Start SBCL with the system loaded
just build   # Compile the standalone binary ml-cardsort
just clean   # Remove the binary

Runtime configuration

Environment variable Default Purpose
MLCARDSORT_PORT 8081 HTTP port
MLCARDSORT_ADDRESS 127.0.0.1 Bind address
MLCARDSORT_DATA_DIR ~/.local/share/ml-cardsort/ Directory for study files

Each study is stored as a plain Lisp file (one file per study) in the data directory.

Documentation

See doc/dev.metalisp.cardsort.org for architecture and data format details.

License

AGPL-3.0-or-later