Simple card sorting
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. |
||
|---|---|---|
| doc | ||
| src | ||
| tests | ||
| .gitignore | ||
| dev.metalisp.cardsort.asd | ||
| justfile | ||
| LICENSE | ||
| README.org | ||
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.sbtin~/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