This repository contains the Kotlin/Spring backend used by the Minecraft club project hub.
The frontend contract is under /api/project/** and /api/admin/**.
Requirements: Docker Desktop with the Linux engine enabled.
docker compose up --build -d
docker compose ps
curl http://localhost:8080/actuator/healthThe backend binds to the local machine only. If port 8080 is already occupied, choose
another port before starting Compose and point the frontend at the same port:
$env:BACKEND_PORT = "18080"
docker compose up --build -d
# Run this in the frontend repository.
$env:NUXT_PUBLIC_API_BASE = "http://127.0.0.1:18080/api"
npm run devStart the frontend in its repository with npm ci and npm run dev, then open
http://localhost:3000. Its development API base is http://127.0.0.1:8080/api.
The compose file enables demo data so a fresh installation has projects and ideas to
inspect. The local demo administrator is admin with password 1234567890.
These credentials and the compose secrets are for local preview only.
Stop the stack with:
docker compose downThe database, Redis data, uploaded files, and logs are kept in named volumes. To remove
the local preview data as well, use docker compose down -v.
Manual startup requires JDK 17, PostgreSQL, and Redis. Copy .env.example to .env,
replace the database, Redis, JWT, CORS, mail, and file-storage values, then run:
Copy-Item .env.example .env
.\gradlew.bat bootRunUse DB_HIBERNATE_DDL_AUTO=update only for a disposable development database. Use
versioned migrations and a non-destructive schema policy for production.
.\gradlew.bat clean test bootJar --no-daemonDo not commit .env, storage/, logs/, build/, or IDE files.