Parts is a toolkit for therapists working with the Internal Family Systems model. It provides a tool for easy, collaborative parts mapping, which can be used to facilitate conversations with clients during sessions.
make repl
This will start a Clojure REPL that includes shadow-cljs (which we use to build our frontend). When we connect to this from CIDER (with cider-connect-clj
), the dev/repl
namespace will be automatically loaded.
From that namespace:
- The app server can be (re)started with
(go)
. This will also start theshadow-cljs
process for building the frontend and watching for changes. - We can swtich to the ClojureScript REPL with
(cljs-repl)
- Use
:cljs/quit
to return to the Clojure REPL
Run unit tests of the service using the kaocha test runner
make test
If additional libraries are required to support tests, add them to the
:test/env
alias definition indeps.edn
make test-watch
will run tests on file save, stopping the current test run on the first failing test. Tests will continue to be watched until Ctrl-c
is pressed.
We use Kamal to deploy a Docker container that will run the uberjar built with make dist
.
Make sure that the KAMAL_REGISTRY_PASSWORD
env var is exported so that the deploy can work.
Also edit config/deploy.yml to ensure it matches your setup. See the Kamal docs.
It’s possible to build an uberjar and run it locally to test before deploying:
make dist
java -jar target/parts-standalone.jar
A deployment can be started via:
make deploy
Copyright © 2024 Gosha Tcherednitchenko / A Possible Space Ltd