Skip to main content

Dev environment setup

This guide covers the full development environment setup for working on the Aucert monorepo.

Required tools

ToolVersionInstall
Node.js22+brew install node or nvm
pnpm9+npm install -g pnpm
JDK21 (Temurin)brew install --cask temurin
Python3.12+brew install python@3.12
uvLatestcurl -LsSf https://astral.sh/uv/install.sh | sh
kubectlLatestbrew install kubectl
Terraform1.9+brew install terraform
Azure CLILatestbrew install azure-cli

Clone and bootstrap

git clone git@github.com:aucert/aucert.git
cd aucert
pnpm install

Backend (Kotlin)

cd backend/platform
./gradlew build test

The backend runs on JDK 21 with Kotlin 2.1+ and Spring Boot 3.x.

Frontend (TypeScript)

cd frontend/apps/console
pnpm dev
# Opens http://localhost:3000

The frontend uses Next.js 15 with React 19, Tailwind CSS, and the @aucert/ui design library.

Internal platform (Astra)

cd internal/backend
./gradlew build
cd internal/frontend
pnpm dev
# Opens http://localhost:3000

Astra uses Ktor 3.1.1 (backend) and Next.js 15 (frontend).

Database access (dev)

Dev databases are accessed through the AKS cluster:

# Port-forward the product PostgreSQL
kubectl port-forward -n aucert-dev svc/product-pg 5432:5432

# Port-forward the internal PostgreSQL
kubectl port-forward -n internal-platform svc/internal-pg 5433:5432
warning

Never connect directly to production databases. Always use port-forwarding through the cluster.

What's next