luontola / territory-bro

Tool for managing congregation territory cards
https://territorybro.com
Apache License 2.0
2 stars 1 forks source link

Territory Bro

Territory Bro is a tool for managing territory cards in the congregations of Jehovah's Witnesses.

For more information, see https://territorybro.com

Build Status

Running

The easiest way to run this application is to use Docker.

Start the database

docker compose pull
docker compose up -d db

Start the application

docker compose up -d app

The application will run at http://localhost:8080

Stop the application (does not remove the database volume)

docker compose down

Developing

The tools for developing this project are Java JDK, Leiningen, Node.js and Docker. It might also be useful to have the PostgreSQL command line tools, even if you run the database with Docker.

Install dependencies

npm install

Build the frontend assets for the backend (once or automatically)

npm run build
npm run autobuild

Start the database

docker compose up -d db

Start the backend, it will run at http://localhost:8080

lein repl
(start)

Restart the backend, reloading code changes

(reset)

Run tests

lein test
npm run test

Run tests selectively

lein kaocha fast
lein kaocha slow
lein kaocha e2e

Run tests automatically on change

lein autotest
npm run autotest

Upgrade dependencies

lein ancient upgrade :all :check-clojure :no-tests
npm run upgrade

asdf install java latest:temurin-21
asdf local java latest:temurin-21
asdf global java latest:temurin-21

asdf install nodejs latest
asdf local nodejs latest
asdf global nodejs latest

Download dependency sources

lein pom
mvn dependency:sources

Produce canonical XML for better diffs

xmllint --c14n11 example.qgs > resources/template-territories.qgs

License

Copyright © 2015-2024, Esko Luontola

This software is released under the Apache License 2.0.