Update README.md |
1 year ago | |
---|---|---|
.. | ||
.clj-kondo | 1 year ago | |
data/import | 1 year ago | |
nix | 1 year ago | |
resources | 1 year ago | |
src | 1 year ago | |
test/beherbergung | 1 year ago | |
.gitattributes | 1 year ago | |
.gitignore | 1 year ago | |
DB.md | 1 year ago | |
README.md | 1 year ago | |
project.clj | 1 year ago |
README.md
„beherbergung“ server
The core of the server is an graphql-api based on specialist.
As database the datalog implementation XTDB is used with a RocksDB data store. Some help how to access the database for development/debug purposes can be found in ./DB.md
Running development server
To start the server and send queries, run:
lein run
curl -H 'Content-type: application/json' -d '{"query":"{ TODO }"}' http://localhost:4000/graphql
Testing
lein test
Production build
lein ring uberjar
java -jar target/beherbergung-*standalone.jar
Reproducible builds
Whenever dependencies are changed, rebuild the mvn2nix-lock.json:
nix run ..#backendUpdatedDeps
This allows to build by:
nix build ..#backend
Configuration
Configuration management is done with yogthos.
Default values are set at src/config.edn
, there you see the available options.
In .lein-env.example
you find the variables you should set yourself.
To set config options at runtime, use environment variables
, java system properties
or an .edn file specified using the config
environment variable.
Notes to developers
State management
Global state (e.g. instances of database and webserver) are managed by mount.
Installation
Windows
The backend runs clojure. To install clojure you might use leiningen.
java install
But first check to have a java installtion ready to run.
java -version
If not - you can download it e.g. from Adopt. Dowload a LTS and HotSpot Version using the links and commands below "Windows x64 jdk installation". Basically it is just a Unziping and adding PATH to Environment.
lein install
consider download, self-install and run via lein.bat
- locally
- or in a folder from your PATH-Variable (call SET in commandline to check)
curl https://raw.githubusercontent.com/technomancy/leiningen/stable/bin/lein.bat >lein.bat
lein run
debug
in case of failure you can add detail information by activating verbose-mode
SET VERBOSE=true
lein run
to check using test-data use
set DB_SEED="src/beherbergung/db/seed/test.edn"
lein run