Skip to content

Latest commit

 

History

History
73 lines (44 loc) · 2.4 KB

README.md

File metadata and controls

73 lines (44 loc) · 2.4 KB

Parts Logo


Clojure CI License GPL 3

About

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.

Development

Run Clojure REPL

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 the shadow-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

Unit tests

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 in deps.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.

Deployment

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.

Build and test locally

It’s possible to build an uberjar and run it locally to test before deploying:

make dist
java -jar target/parts-standalone.jar

Deploy

A deployment can be started via:

make deploy

License

Copyright © 2024 Gosha Tcherednitchenko / A Possible Space Ltd

The GNU General Public License v3