Document search application. Accesses Lupapiste MongoDB directly and Onkalo search API through HTTP.
lupadoku-config.edn has defaults for local development. You can overwrite necessary values by creating lupadoku-config-local.edn which is included in .gitignore.
Lupadoku does searches directly into the Lupapiste main database. It only needs read-only permissions. Configure the
database connection string under the :db
key. You can include ssl=true
to use SSL/TLS encryption with the
connection, e.g.:
:db {:uri "mongodb://lupapiste_ro:<password>@server.example.tld:port/lupapiste?ssl=true"}
Configure Onkalo API URL and credentials under :http :arkisto
, e.g.:
:http {:arkisto {:host "https://www.lupapiste.fi/onkalo"
:app-id "app-id"
:app-key "app-key"}}
Builds are done by ci.lupapiste.fi. Deployment is done with Ansible, code and configuration are in lupapiste-ansible project. Deployment to dev, test, qa and production environments is handled by ci.lupapiste.fi
Production deployment occurs when a build from master branch is promoted in Jenkins UI.
Start a repl:
lein repl
and run the application:
(go)
Reload all changed (back-end) namespaces:
(reset)
Develop front-end with shadow-cljs:
lein front
Note that npm dependencies required by the shared code in document-search-commons must be declared in lupadoku project's package.json as that project only includes CLJS libraries loaded via Leiningen.
You should symlink document-search-commons under checkouts for front-end development, as shadow-cljs expects to access sources from there as well. Styles are also located under document-search-commons. Run sass in document-search-commons for continuous css build when altering styles:
npm run sass:watch
To extract strings for translation, create a symlink to translations.txt under document-search-commons
ln -s ../document-search-commons/resources/translations.txt resources/translations.txt
and then run
lein extract-strings
Copyright © 2024 Cloudpermit Oy
Distributed under the European Union Public Licence (EUPL) version 1.2.