50 Commits

Author SHA1 Message Date
b65478ed57 Behebe DNS-Timeouts und Image-Pull-Probleme
- Konfiguriere Google DNS Server (8.8.8.8, 8.8.4.4) für zuverlässigere Auflösung
- Füge intelligente Erkennung vorhandener Docker-Images hinzu
- Aktualisiere Dockerfile automatisch, um verfügbare Base-Images zu nutzen
- Verwende generischere Image-Tags (node:alpine, python:slim) als Standard
- Implementiere Fallback mit mehreren alternativen Image-Versionen

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-04-01 10:09:04 +02:00
f64ca592c3 Verwende allgemeinere Basis-Images für bessere Kompatibilität
- Ändere node:20-alpine zu node:lts-alpine für Frontend
- Ändere python:3.11-slim zu python:3-slim für Backend
- Ermöglicht Cache-Nutzung, wenn diese allgemeineren Images bereits auf dem System vorhanden sind
- Verhindert Netzwerk-Timeouts beim Pullen spezifischer Versionen

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-04-01 09:59:47 +02:00
ef6b46dc05 Verbessere Docker Compose Kompatibilität für Installation
- Verbessere Docker Compose Versionsprüfung und -installation
- Aktualisiere docker-compose.yml zu Version 3 Format
- Behebe YAML-Syntax-Fehler in Environment-Variablen
- Füge Unterstützung für beide Befehlsvarianten hinzu (docker-compose/docker compose)
- Verwende Docker Compose v2.6.1 für ARM-Architekturen (Raspberry Pi)

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-31 15:02:35 +02:00
05bd3f3f22 Behebe YAML-Syntax-Fehler in Docker Compose und verbessere Installationsskripte
• Korrigiere YAML-Syntax-Fehler in docker-compose.yml-Dateien
• Füge automatische Docker-Installation für Raspberry Pi hinzu
• Aktualisiere Installationsdokumentation mit Fehlerbehebungstipps
• Verwende durchgängig docker-compose statt docker compose für bessere Kompatibilität

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-31 14:58:01 +02:00
f1541478ad 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>
2025-03-31 14:22:07 +02:00
951473d1ec Erstelle Docker-Setup mit Installationsskripten für Frontend und Backend
- Füge Docker-Compose-Konfiguration mit Host-Netzwerk für Frontend und Backend hinzu
- Erstelle Dockerfile für das Frontend mit automatischer Datenbankmigration
- Aktualisiere Backend-Docker-Compose mit korrekten Umgebungsvariablen
- Implementiere Installationsskripte:
  - install-myp.sh: Vollständige Installation beider Komponenten
  - start-myp.sh: Starten der installierten Container
  - stop-myp.sh: Stoppen der Container
  - setup-backend-env.sh: Einrichten der Backend-Umgebungsvariablen
- Korrigiere SQLite-Datenbankprobleme im Frontend

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-31 10:36:16 +02:00
347cc931ed Füge Backend-Autostart-Skript hinzu 2025-03-31 09:45:42 +02:00
8db9a93507 Add Bootstrap assets and download script for offline support
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-24 11:11:05 +01:00
d496dec773 bootstrap test 2 2025-03-24 10:58:07 +01:00
37ab57c455 revert aad1be90ee9fb107d58ef3bbf8c4ff884414abda
revert bootstrap offline
2025-03-24 10:55:08 +01:00
aad1be90ee bootstrap offline 2025-03-24 10:11:35 +01:00
Raspberry PI TBA
4fda1139d1 feedback 2025-03-24 09:41:04 +01:00
7a34f7581c Add installation shell scripts for frontend and backend deployment
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-24 09:03:46 +01:00
84a3f45d2f production readyness 2025-03-24 07:13:26 +01:00
root
9502a9b3af steckdose timeout 2025-03-13 09:56:03 +01:00
root
2ab091b90c Behebe Fehler im Hintergrund-Thread durch Hinzufügen fehlender Datenbankfelder
- Erweitere init_db Funktion, um fehlende connection_status und last_seen Spalten in der socket Tabelle zu prüfen
- Füge Spalten dynamisch hinzu, falls sie nicht existieren
- Verhindert den Fehler 'no such column: connection_status' im background_job_checker

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-13 09:46:18 +01:00
root
b0d8d4f915 Verbessere Passwort-Sicherheit mit stärkerem Salting und Hashing 2025-03-13 08:59:58 +01:00
root
52a336a788 Implementiere Uptime-Überwachung für Steckdosen mit Dashboard-Anzeige 2025-03-13 08:56:22 +01:00
be0067ab06 getestet, credentials aktualisiert 2025-03-13 08:38:13 +01:00
4a2782734a env vars geändert / berichtigt 2025-03-12 14:10:13 +01:00
root
190794b2c1 Claude 2025-03-12 13:58:24 +01:00
root
ad5bd4367e Verbesserte Dashboard-Ansicht mit Echtzeit-Informationen
- Neue übersichtliche Dashboard-Ansicht für aktive und wartende Jobs
- Fortschrittsbalken für laufende Druckaufträge mit verbleibender Zeit
- Liste der verfügbaren Drucker mit schnellem Zugriff auf Auftragserstellung
- Freischaltungs-Funktionalität für wartende Jobs direkt vom Dashboard
- Automatische Aktualisierung der Daten alle 60 Sekunden

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 13:33:57 +01:00
root
097934ac18 Verbesserte Druckeransicht mit Warteschlange und verbleibender Zeit
- Anzeige der verbleibenden Zeit für aktuelle Druckaufträge in der Druckeransicht
- Neue Spalte für wartende Jobs in der Druckerliste
- Übersichtliche Anzeige der Warteschlange mit Job-Informationen

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 13:28:37 +01:00
root
a7b8d470e4 Verbesserte Frontend-Unterstützung für Wartejobs und verbleibende Zeit
- Anzeige der verbleibenden Zeit für Druckaufträge im Frontend
- Neue UI-Komponenten für Wartejobs und deren Freischaltung
- Freischaltungs-Modal für wartende Jobs implementiert
- Drucker-Status wird beim Erstellen eines Auftrags angezeigt
- Checkbox für Warteschlangen-Option beim Erstellen eines Auftrags

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 13:27:14 +01:00
root
3f2be5b17d Automatisches Ausschalten der Drucker nach Ablauf der Auftragszeit
- Verbesserte Funktion check-jobs für automatische Abschaltung
- Implentierung von Warteschlange für besetzte Drucker
- Neues Datenbank-Feld 'waiting_approval' für Druckaufträge
- Neuer API-Endpunkt '/api/jobs/<job_id>/approve' zur Freischaltung
- Verbessertes Logging für Debugging-Zwecke

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 13:24:26 +01:00
7bf9d7e5ae dinge getan 2025-03-12 13:14:36 +01:00
a651257b3b app py korrigiert, env vars, git ignore 2025-03-12 12:39:03 +01:00
root
3972860be8 env vars 2025-03-12 12:33:05 +01:00
root
6cdc437d3e Update API documentation to reflect PyP100 migration
- Updated printer (socket) API endpoints to use the new data structure
- Updated job API endpoints to match the current implementation
- Added documentation for new endpoints: job status, abort, finish, and extend
- Updated field names to match the camelCase convention used in the backend

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 12:22:55 +01:00
root
7c1d0069c6 Update documentation for PyP100 migration
- Updated environment variable section to use PRINTERS instead of TAPO_DEVICES
- Added JSON format example for the PRINTERS variable
- Updated technology stack to mention PyP100 instead of Tapo library
- Fixed database path reference from DATABASE_URL to DATABASE_PATH

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 12:20:31 +01:00
root
575325e838 Add environment example file for PyP100 configuration
- Created .env.example file for backend configuration
- Updated environment variable format for smart plugs
- PRINTERS variable now uses the new JSON format required by the PyP100 library

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 12:19:05 +01:00
root
faf0736dbd Automatische Initialisierung der Tapo-Steckdosen implementiert
- Steckdosen werden automatisch aus SOCKET_DEVICES Umgebungsvariable initialisiert
- Drucker werden als "Printer X" benannt, wobei X die Nummer der Steckdose ist
- Alle Steckdosen werden beim Start in den AUS-Zustand versetzt
- Verbesserte Fehlerbehandlung beim Ausschalten der Steckdosen mit mehreren Versuchen

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 11:23:06 +01:00
root
47143d29a5 Automatisches Ausschalten der Steckdosen nach Jobende implementiert
- Neue API zur Statusüberprüfung für Frontend hinzugefügt
- Automatisches Ausschalten der Steckdosen bei Jobende implementiert
- Zurücksetzen des Steckdosenstatus nach Jobende verbessert
- check-jobs CLI-Befehl optimiert

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 11:11:08 +01:00
root
8222d89b2b Refactoring des Backends: Vereinfachung und Anpassung für Steckdosen
- Umstellung der klassenbasierten Implementierung auf Funktionen
- Änderung der Drucker-Logik auf Steckdosen-Logik für Fernsteuerung
- Umbenennung relevanter Tabellen/Funktionen von printer zu socket
- Beibehaltung der API-Kompatibilität der Endpunkte

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 11:01:24 +01:00
root
ea4b903d63 Ersetze tapo durch PyP100
- Ersetzt tapo==0.8.1 mit PyP100==0.0.19 in requirements.txt
- Ändert Import von ApiClient zu PyP100
- Implementiert TapoControl Klasse neu mit PyP100 API
- Entfernt async/await-Aufrufe, da PyP100 synchrone API benutzt

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-12 10:48:23 +01:00
f3cd2ba730 aufräumen 2025-03-12 10:31:30 +01:00
b5dcc6999d pyp100 module funktionstauglich 2025-03-12 10:22:01 +01:00
038c261eb7 api reverse engineering 2025-03-11 15:07:23 +01:00
root
2adafb149a Ersetze Flask-SQLAlchemy durch direktes SQLite
- Direkte Nutzung von SQLite3 statt Flask-SQLAlchemy/Flask-Migrate
- Vereinfachung der Datenbankinitialisierung
- Automatische Erstellung der Datenbank beim Serverstart, falls nicht vorhanden
- ORM-Klassen mit direkten SQLite-Methoden implementiert
- Entfernung nicht benötigter Abhängigkeiten
2025-03-11 11:29:29 +01:00
root
e31c4036d7 Hinzufügen von Datenbank-Initialisierungsskript und Migrationen
Dieses Commit fügt das 'initialize_myp_database.sh' Skript zur automatisierten Datenbank-Initialisierung hinzu sowie die notwendigen Migrations-Dateien für Flask-Migrate.

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 11:17:20 +01:00
root
29730fa880 Füge Backend-internes Frontend für API- und Druckertests hinzu
Implementiere eine Weboberfläche zur Verwaltung von Druckern, Druckaufträgen und Benutzern mit folgenden Funktionen:
- Login/Registrierungsseiten
- Dashboard mit Überblick
- Drucker-Verwaltung (Hinzufügen, Bearbeiten, Löschen)
- Auftrags-Verwaltung (Erstellen, Abbrechen, Verlängern)
- Benutzer-Verwaltung (nur Admin)
- Statistik-Dashboard

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 11:03:10 +01:00
c3fa6455d0 tapo version fix 2025-03-11 09:43:10 +01:00
7061d13b12 env vars udpate prod 2025-03-11 09:38:39 +01:00
root
331a235f05 Aktualisiere Dependencies für lokale Authentifizierung
- Entferne Authlib (nicht mehr benötigt ohne OAuth)
- Entferne aiohttp und requests (nicht mehr benötigt für GitHub API)

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 09:29:42 +01:00
root
70aeb17cdb Implementiere lokales Authentifizierungssystem
- Entferne GitHub OAuth-Abhängigkeiten
- Implementiere lokales Authentifizierungssystem mit Passwort-Hashing
- Füge Passwort-Hash zum User-Modell hinzu, entferne GitHub-ID
- Implementiere Benutzerregistrierung und Login-Endpoints
- Erstelle Endpunkt für initialen Admin-Setup
- Passe Benutzerrollenverwaltung an

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 09:29:25 +01:00
root
73ead5939c Aktualisiere Backend-README für lokales Authentifizierungssystem
- Entferne OAuth-Authentifizierung aus Funktionsumfang
- Aktualisiere Technologie-Stack (entferne Authlib)
- Ändere API-Endpunkte für Authentifizierung
- Aktualisiere Datenmodell (füge Passwort-Hash hinzu, entferne GitHub-ID)
- Aktualisiere Sicherheitsanforderungen und Umgebungsvariablen

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 09:29:09 +01:00
root
f480ed00bd Aktualisiere API-Dokumentation für lokale Authentifizierung
- Entferne JWT-Token-basierte Authentifizierung
- Füge Endpunkte für Benutzerregistrierung und -anmeldung hinzu
- Dokumentiere neuen Endpunkt für initialen Admin-Setup

🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-03-11 09:28:52 +01:00
55936c81f0 ein-dateien backend erstellt 2025-03-07 20:58:34 +01:00
Torben Haack
577f6c71f5 update directory structure 2024-10-11 06:08:03 +02:00
TTOMCZA
0f4b5d225f ADD: basic backend-files 2024-08-21 11:25:31 +02:00