ffa357775bc8ce428c6259b4e1639cf6b3fdc4bc
V1 creates users, projects, time_entries with CHECK constraints and three indexes (entry_date, project_id, user+date composite). V2 seeds 3 users (Alice/Bob/Clara) and 3 projects, one with a project-level hourly rate override (Acme Relaunch). Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
App
React 19 + Spring Boot 3.4 web app backed by PostgreSQL 17.
Quick start
Requires a full JDK (not just JRE) for Maven compilation.
mise installbelow handles this. Without mise:sudo apt install openjdk-21-jdk.
# 1. Pin toolchain — installs Java 21 JDK, Node 22, Maven, lefthook, gitleaks
mise install
# 2. Install deps and git hooks (or run the four commands manually)
mise run setup
# 3. Start the database
docker compose up -d
Open two terminals:
# Backend → http://localhost:8080
mvn -f backend/pom.xml spring-boot:run
# Frontend → http://localhost:5173 (proxies /api → :8080)
cd frontend && npm run dev
Verify everything
mise run check # format-check + lint + test (both stacks)
Without mise:
mvn -f backend/pom.xml spotless:check -q
cd frontend && npx biome check src
mvn -f backend/pom.xml test -q
cd frontend && npx vitest run
Environment
.env.example documents all env vars. mise run setup copies it to .env automatically on first run.
Description
Languages
TypeScript
57.7%
Java
41.2%
Dockerfile
0.8%
HTML
0.3%