Ensure you have the following tools installed:
- Docker Desktop - For running the PostgreSQL database
- Java 21 JDK - For the backend Quarkus application
- Node.js - For frontend development (version 22 or higher)
- pnpm - For frontend package management
- Python 3.13 - For local development scripts
- pre-commit - For automatic code formatting
Run the setup script to prepare your development environment:
./local_setup.pyThis script will:
- Install required pre-commit hooks
- Install frontend Node dependencies
- Generate a local RSA key pair for JWT authentication
Run a single command to start the entire stack in development mode:
./dev_local.pyThis script automatically:
- Launches the PostgreSQL database in Docker
- Starts the Quarkus backend in development mode
- Runs the frontend Vite development server
- Gracefully shuts down all components when interrupted
Once the development environment is running, you can access the application via:
- http://localhost:5173 (frontend SPA)
- http://localhost:8081 (backend API)
To build the entire application for production, run the following command:
cd app && ./gradlew buildThis creates a runnable JAR file in app/build/quarkus-app/ directory.
The resulting JAR is packaged in a container image in the docker-compose.prod.yml file created in the Github release
workflow ( see .github/workflows/release.yml)