Backend for Assembly schedule management and viewing
Development requirements:
- JDK8
- Maven
Building the final jar package:
mvn package
Will create a pss-*.jar
in the target
directory.
Compile and execute without building a package (useful during development):
mvn compile exec:java
Database:
For for local development, set up a MySQL/MariaDB database and user:
create user pss@localhost identified by 'pss';
create database pss;
grant all on pss.* to pss@localhost;
(After having the jar built) simply execute:
java -jar pss-*.jar
Or build and run everything in Docker with docker-compose (for local dev, for prod use you might want to create a new compose with the frontend included):
docker-compose up -d
Dockerized:
- Docker
- docker-compose
Oldskool without docker:
- JRE8+
- MySQL Server or compatible alternative (eg. MariaDB)
Configuration can be set with a config file and/or environment variables.
To set the config with a config file, copy pss.properties.example
as pss.properties
either to the same directory as the jar or the parent directory (=project root when local dev)
To set the config with environment variables, convert the properties to uppercase, replace dots with underscores and prefix them with PSS_
. For example, the http.port
in the config can be set with with PSS_HTTP_PORT
environment variable. All available config properties are in pss.properties.example
.
Swagger UI is exposed at: http://localhost:8080/swagger-ui.html
Swagger apidoc is exposed at: http://localhost:8080/v2/api-docs