1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 04:39:35 +01:00
effigenix/justfile
Sebastian Frick bf09e3b747 feat(scanner): Mobile Scanner App mit echten Produktionsaufträgen
Scanner-App  Tauri v2 Android App mit
Login, Barcode-Scanner, Consume/Move/Book-Flows und Aufgabenliste.

TasksPage lädt echte RELEASED/IN_PROGRESS Produktionsaufträge via API,
Consume-Flow nutzt den konkreten Auftrag für korrekte Rezept-Skalierung
statt blind den ersten IN_PROGRESS-Auftrag zu nehmen.

Backend: FindStockByBatchId Use Case + REST-Endpoint für Stock-Lookup
per Chargennummer.
2026-03-27 15:25:17 +01:00

117 lines
4.1 KiB
Makefile
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Effigenix ERP Development Commands
# Default: alle Recipes auflisten
default:
@just --list
# ─── Dev Modi ─────────────────────────────────────────────
# Backend starten (Spring Boot)
dev-backend:
cd backend && SENTRY_DSN=$(grep '^SENTRY_DSN=' ../.env 2>/dev/null | cut -d= -f2-) mvn spring-boot:run
# CLI/TUI starten
dev-cli:
cd frontend/apps/cli && node --env-file=../../../.env --import tsx src/index.tsx
# Web-UI starten (Vite :3000)
dev-web:
cd frontend && pnpm run --filter @effigenix/web dev
# Scanner-App starten (Tauri + Vite :1420)
dev-scanner:
cd frontend/apps/scanner && pnpm tauri dev
# UI-Library im Watch-Modus bauen
dev-ui:
cd frontend && pnpm run --filter @effigenix/ui dev
# ─── Android ─────────────────────────────────────────────
# Android-Emulator starten (Pixel 3 XL, API 34)
android-emulator:
emulator -avd effigenix -gpu swiftshader_indirect
# Scanner auf Android-Emulator starten (Emulator muss laufen)
dev-scanner-android:
cd frontend/apps/scanner && pnpm tauri android dev
# ─── Build ────────────────────────────────────────────────
# Frontend komplett bauen
build-frontend:
cd frontend && pnpm build
# Backend bauen
build-backend:
cd backend && mvn package -DskipTests
# ─── Checks ──────────────────────────────────────────────
# Frontend Typecheck
typecheck:
cd frontend && pnpm typecheck
# Frontend Tests
test-frontend:
cd frontend && pnpm test
# Backend Tests
test-backend:
cd backend && mvn test
# ─── Code Generation ─────────────────────────────────────
# OpenAPI Spec + TypeScript Types generieren
generate-openapi:
./scripts/generate-openapi.sh
# ─── Datenbank ────────────────────────────────────────────
# Testdaten einspielen
seed-testdata:
PGPASSWORD=effigenix nix shell nixpkgs#postgresql --command psql -f backend/src/main/resources/db/changelog/changes/099-seed-testdata.sql -h localhost -p 5432 -U effigenix -d effigenix
# ─── Fuzz Testing ─────────────────────────────────────────
# Alle Fuzz-Tests
fuzz:
cd backend && mvn test -Pfuzz
# Fuzz-Regressionstests
fuzz-regression:
cd backend && mvn test -Pfuzz-regression
# Einzelnen Fuzz-Test ausführen (z.B. just fuzz-single BatchFuzzTest)
fuzz-single TEST:
cd backend && mvn test -Pfuzz -Dtest={{ TEST }}
# ─── Load Testing ────────────────────────────────────────
# Gatling Load Test ausführen (startet Backend + DB via Testcontainers)
loadtest:
#!/usr/bin/env bash
set -euo pipefail
# Podman-Socket für Testcontainers bereitstellen (falls kein Docker)
if [ -z "${DOCKER_HOST:-}" ] && [ ! -S /var/run/docker.sock ]; then
PODMAN_SOCK="/run/user/$(id -u)/podman/podman.sock"
if [ -S "$PODMAN_SOCK" ]; then
export DOCKER_HOST="unix://$PODMAN_SOCK"
export TESTCONTAINERS_RYUK_DISABLED=true
fi
fi
cd loadtest && mvn gatling:test
# ─── Services ─────────────────────────────────────────────
# Bugsink starten (Error Tracking)
bugsink:
@. ./.env 2>/dev/null || true; \
docker start bugsink 2>/dev/null || \
docker run \
--name bugsink \
-p 8000:8000 \
-e SECRET_KEY=${BUGSINK_SECRET_KEY:?BUGSINK_SECRET_KEY muss gesetzt sein} \
-e CREATE_SUPERUSER=admin:admin \
bugsink/bugsink:latest
@echo "Bugsink: http://localhost:8000 (admin/admin)"