1
0
Fork 0
mirror of https://github.com/s-frick/effigenix.git synced 2026-03-28 08:29:36 +01:00

feat(frontend): Tauri Apps, Shared UI Library und Nix Flake

- packages/ui: Shared React Component Library (Button, Card, Badge, Input)
  mit Tailwind v4 @theme Design Tokens (oklch)
- apps/web: ERP Web-UI (Vite + React + Tailwind v4, API-Proxy :8080)
- apps/scanner: Tauri v2 Mobile App mit Barcode-Scanner Plugin
  (cfg(mobile) für Desktop-Kompatibilität)
- flake.nix: Nix Flake mit rust-overlay, Tauri System-Deps (GTK,
  WebKitGTK, libsoup, OpenSSL), ersetzt shell.nix
- justfile: Dev-Befehle für alle Projekte (backend, cli, web, scanner)
- frontend/CLAUDE.md: Agent Guide mit Base UI Docs Referenz
This commit is contained in:
Sebastian Frick 2026-03-19 16:45:47 +01:00
parent b9b89e3f0e
commit ef50eb8279
96 changed files with 11682 additions and 16 deletions

91
justfile Normal file
View file

@ -0,0 +1,91 @@
# 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
# ─── 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 }}
# ─── 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)"