This is the back-end server for PeopleMover.
These instructions will get you a copy of the backend up and running on your local machine for development and testing purposes. PeopleMover is written primarily in Kotlin.
Once you have a copy of the backend up and running, head over to the UI README to start up the frontend for local development and testing.
- Java 11
- Docker or Podman (along with podman-compose), if using local MySql
In the ./api
directory, run the command to start up the database instance specified in the docker-compose.yml file. This command will depend on if you are using Docker or Podman
docker compose up
or
podman-compose up
The database needs to be running in order for the unit tests to fully pass.
This repository uses a Gradle multi-module build. All Gradle commands should be run from the root of the repository.
Build the project with the following command: ./gradlew api:build
. This will run the backend tests.
This product uses JUnit tests.
./gradlew api:test
Note: The database needs to be running in order for the unit tests to fully pass.
Running the application locally can be done with either an H2 in-memory database or a MySQL database.
Our deployed backend currently relies on our Corporate ADFS system;
the e2e-test
profile replaces it with a simplified auth system for testing.
The simplest way to get the application spun up is by using the in-memory database via Gradle:
SPRING_PROFILES_ACTIVE=e2e-test,h2 ./gradlew api:bootRun
docker compose up -d
SPRING_PROFILES_ACTIVE=e2e-test,mysql ./gradlew api:bootRun
PeopleMover is licensed under the Apache 2.0 license.