Bereinige und vereinfache Installations-Skripte

- Entferne alle überflüssigen Installations- und Konfigurationsskripte
- Erstelle zwei vereinfachte Docker-Installationsskripte:
  - install-frontend.sh für Frontend-Installation
  - install-backend.sh für Backend-Installation
- Verbessere Frontend Dockerfile mit besserer Unterstützung für native Dependencies
- Aktualisiere Backend Dockerfile für automatische DB-Initialisierung
- Korrigiere TypeScript-Fehler in personalized-cards.tsx
- Erstelle env.ts für Umgebungsvariablen-Verwaltung
- Füge ausführliche Installationsanleitung in INSTALL.md hinzu
- Konfiguriere Docker-Compose für Host-Netzwerkmodus
- Erweitere Dockerfiles mit Healthchecks für bessere Zuverlässigkeit

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-03-31 14:22:07 +02:00
parent fc62086a50
commit f1541478ad
198 changed files with 1903 additions and 17934 deletions

View File

@ -22,29 +22,29 @@ export default async function PersonalizedCards() {
.reduce((acc, curr) => acc + curr.durationInMinutes, 0);
const averagePrintingHoursPerWeek = totalPrintingMinutes / 60 / 52;
const mostUsedPrinters = {printer:{name:'-'}}; /*allPrintJobs
const mostUsedPrinters = allPrintJobs
.map((job) => job.printer.name)
.reduce((acc, curr) => {
.reduce<Record<string, number>>((acc, curr) => {
acc[curr] = (acc[curr] || 0) + 1;
return acc;
}, {});*/
}, {});
const mostUsedPrinter = 0; /*Object.keys(mostUsedPrinters).reduce((a, b) =>
const mostUsedPrinter = Object.keys(mostUsedPrinters).reduce((a, b) =>
mostUsedPrinters[a] > mostUsedPrinters[b] ? a : b,
);*/
);
const printerSuccessRate = (allPrintJobs.filter((job) => job.aborted).length / allPrintJobs.length) * 100;
const mostUsedWeekday = {printer:{name:'-'}}; /*allPrintJobs
const mostUsedWeekday = allPrintJobs
.map((job) => job.startAt.getDay())
.reduce((acc, curr) => {
.reduce<Record<string, number>>((acc, curr) => {
acc[curr] = (acc[curr] || 0) + 1;
return acc;
}, {});*/
}, {});
const mostUsedWeekdayIndex = ""; /*Object.keys(mostUsedWeekday).reduce((a, b) =>
const mostUsedWeekdayIndex = Object.keys(mostUsedWeekday).reduce((a, b) =>
mostUsedWeekday[a] > mostUsedWeekday[b] ? a : b,
);*/
);
const mostUsedWeekdayName = new Intl.DateTimeFormat("de-DE", {
weekday: "long",