The project is using Bazelisk for building, running and testing. These instructions will guide you through starting a local instance on Linux (or WSL).
build-essential
or an alternative- Python (with PIP and
python-is-python3
) - G++ 10
- Java 11
- Redis
- PostgreSQL
postgres:postgres
as credentials- Create an empty database named
keyring
- Docker (for
Testcontainers
)
bazelisk run //:backends
to start the backendsbazelisk run //:pwa
to start the frontend
Note that in the development environment activation tokens are not sent by email — instead they are printed to the console.
bazelisk test $(bazelisk query 'tests(//server/...)')
bazelisk test //pwa:unit_tests
Database upgrades are managed by
changelog.postgresl.sql
. Run
generate-changelog
from root to regenerate the changelog from scratch from
an existing local instance of the keyring
database. Note that it's created
by default when server
is run in the development environment.
liquibase --changelog-file=server/changelog.postgresql.sql \
--url=jdbc:postgresql://localhost/keyring \
--username=postgres --password=postgres \
generate-changelog --overwrite-output-file=true