This service is currently in beta and under active development, some features maybe incomplete, not working or missing.
- Node 20+
- PostgreSQL 16+
- Azure Datalake
- Docker
Copy the .env-example file to .env
and provide the missing values. The default dev setup uses Postgres
running in a Docker container for the datastore. The data volume is persisted in .docker/postgres/data
.
Once you've created the configuration, run:
npm install
npm run dev
This will start the DB container in the background and run the app. The service should then be available on port 3000
by default (or whatever you specified for BACKEND_PORT
).
You can run the checks individually (prettier
, lint
, test
, build
) or all of them with one command:
npm run check
You can run the checks and the service with:
npm run dev:check
The database schema is managed with TypeORM migrations.
Display the existing migrations:
npm run migration:show
Run any unexecuted migrations:
npm run migration:run
Rollback the most recent migration:
npm run migration:revert
Generate a new migration file after updating the entities (this does not execute the migration):
npm run migration:generate -- ./src/migration/<name>
e.g.
npm run migration:generate -- ./src/migration/initial-schema
The app is deployed as a container, based on Dockerfile.