"Update database configuration and documentation"

This commit is contained in:
2025-05-29 15:36:11 +02:00
parent 33eaa6ce3e
commit d6a583d115
5 changed files with 1487 additions and 379 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -5,6 +5,7 @@ Dieses Dokument beschreibt die geplanten Entwicklungsschritte und zukünftigen F
## Aktuelle Version: 1.1 ## Aktuelle Version: 1.1
Die aktuelle Version umfasst die Grundfunktionalitäten: Die aktuelle Version umfasst die Grundfunktionalitäten:
- Benutzerauthentifizierung und -verwaltung - Benutzerauthentifizierung und -verwaltung
- Druckerverwaltung - Druckerverwaltung
- Job-Scheduling und -Überwachung - Job-Scheduling und -Überwachung
@@ -19,6 +20,7 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
## Kürzlich Abgeschlossen (Version 1.1) ## Kürzlich Abgeschlossen (Version 1.1)
### UI/UX Verbesserungen ✅ ### UI/UX Verbesserungen ✅
- **Template-Helper-System**: Jinja2-Helper für Buttons, Badges, Cards, Alerts, Modals, Tabellen - **Template-Helper-System**: Jinja2-Helper für Buttons, Badges, Cards, Alerts, Modals, Tabellen
- **JavaScript-Utilities**: Toast-Nachrichten, Modal-Steuerung, Dropdown-Management, Loading-Anzeigen - **JavaScript-Utilities**: Toast-Nachrichten, Modal-Steuerung, Dropdown-Management, Loading-Anzeigen
- **Status-System**: Automatische Status-Badges für Jobs und Drucker mit deutscher Übersetzung - **Status-System**: Automatische Status-Badges für Jobs und Drucker mit deutscher Übersetzung
@@ -28,6 +30,7 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
- **Dokumentation**: Umfassende UI-Komponenten-Dokumentation (`UI_COMPONENTS.md`) - **Dokumentation**: Umfassende UI-Komponenten-Dokumentation (`UI_COMPONENTS.md`)
### Technische Verbesserungen ✅ ### Technische Verbesserungen ✅
- **PostCSS-Integration**: Automatische CSS-Verarbeitung mit Tailwind und Autoprefixer - **PostCSS-Integration**: Automatische CSS-Verarbeitung mit Tailwind und Autoprefixer
- **Build-System**: NPM-Scripts für CSS-Kompilierung und Watch-Modus - **Build-System**: NPM-Scripts für CSS-Kompilierung und Watch-Modus
- **Komponenten-Architektur**: Modulares System für wiederverwendbare UI-Elemente - **Komponenten-Architektur**: Modulares System für wiederverwendbare UI-Elemente
@@ -36,14 +39,16 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
## Geplante Features ## Geplante Features
### Version 1.2 (Kurzfristig) ### Version 1.2 (Kurzfristig)
- [ ] E-Mail-Benachrichtigungen bei Job-Status-Änderungen
- [ ] Verbesserte Fehlerbehandlung und Logging - Verbesserte Fehlerbehandlung und Logging
- [ ] Nutzungsstatistiken und Berichte - [ ] Nutzungsstatistiken und Berichte
- [ ] Feinere Berechtigungssteuerung - [ ] Feinere Berechtigungssteuerung
- [ ] **Erweiterte UI-Komponenten**: Datepicker, File-Upload, Progress-Bars - [ ] **Erweiterte UI-Komponenten**: Datepicker, File-Upload, Progress-Bars
- [ ] **Formular-Validierung**: Client- und serverseitige Validierung mit UI-Feedback - [ ] **Formular-Validierung**: Client- und serverseitige Validierung mit UI-Feedback
### Version 1.3 (Mittelfristig) ### Version 1.3 (Mittelfristig)
- [ ] Druckerprofile mit spezifischen Eigenschaften (Druckvolumen, Materialien, etc.) - [ ] Druckerprofile mit spezifischen Eigenschaften (Druckvolumen, Materialien, etc.)
- [ ] Materialverwaltung und -tracking - [ ] Materialverwaltung und -tracking
- [ ] Verbessertes Dashboard mit Echtzeit-Updates - [ ] Verbessertes Dashboard mit Echtzeit-Updates
@@ -52,6 +57,7 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
- [ ] **Erweiterte Tabellen**: Sortierung, Filterung, Pagination - [ ] **Erweiterte Tabellen**: Sortierung, Filterung, Pagination
### Version 2.0 (Langfristig) ### Version 2.0 (Langfristig)
- [ ] OctoPrint Integration für direkte Druckersteuerung - [ ] OctoPrint Integration für direkte Druckersteuerung
- [ ] Mobile App mit Push-Benachrichtigungen - [ ] Mobile App mit Push-Benachrichtigungen
- [ ] Wartungsplanung und -tracking - [ ] Wartungsplanung und -tracking
@@ -62,6 +68,7 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
## Technische Verbesserungen ## Technische Verbesserungen
### Backend ### Backend
- [ ] Refactoring für verbesserte Modularität - [ ] Refactoring für verbesserte Modularität
- [ ] REST API Dokumentation mit Swagger/OpenAPI - [ ] REST API Dokumentation mit Swagger/OpenAPI
- [ ] Verbesserte Testabdeckung - [ ] Verbesserte Testabdeckung
@@ -69,22 +76,25 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
- [ ] **WebSocket-Integration**: Für Echtzeit-Updates - [ ] **WebSocket-Integration**: Für Echtzeit-Updates
### Frontend ### Frontend
- [x] ~~Optimierung der Benutzeroberfläche~~**Abgeschlossen**
- [x] ~~UI-Komponenten-System~~**Abgeschlossen** - [X] ~~Optimierung der Benutzeroberfläche~~**Abgeschlossen**
- [X] ~~UI-Komponenten-System~~**Abgeschlossen**
- [ ] **HTMX-Integration**: Für bessere Interaktivität ohne komplexe JavaScript-Frameworks - [ ] **HTMX-Integration**: Für bessere Interaktivität ohne komplexe JavaScript-Frameworks
- [ ] **Progressive Web App (PWA)**: Funktionalität für App-ähnliche Erfahrung - [ ] **Progressive Web App (PWA)**: Funktionalität für App-ähnliche Erfahrung
- [ ] **Barrierefreiheit**: Nach WCAG-Richtlinien - [ ] **Barrierefreiheit**: Nach WCAG-Richtlinien
- [ ] **Performance-Optimierung**: Lazy Loading, Code Splitting - [ ] **Performance-Optimierung**: Lazy Loading, Code Splitting
### CSS/Styling ### CSS/Styling
- [x] ~~Tailwind CSS Integration~~**Abgeschlossen**
- [x] ~~PostCSS Build-Pipeline~~**Abgeschlossen** - [X] ~~Tailwind CSS Integration~~**Abgeschlossen**
- [x] ~~Dark Mode Support~~**Abgeschlossen** - [X] ~~PostCSS Build-Pipeline~~**Abgeschlossen**
- [x] ~~Responsive Design~~**Abgeschlossen** - [X] ~~Dark Mode Support~~**Abgeschlossen**
- [X] ~~Responsive Design~~**Abgeschlossen**
- [ ] **CSS-Optimierung**: Purging ungenutzter Styles, Critical CSS - [ ] **CSS-Optimierung**: Purging ungenutzter Styles, Critical CSS
- [ ] **Animation-System**: Micro-Interactions und Übergänge - [ ] **Animation-System**: Micro-Interactions und Übergänge
## Leistung und Skalierung ## Leistung und Skalierung
- [ ] Optimierung der Datenbankabfragen - [ ] Optimierung der Datenbankabfragen
- [ ] Caching-Strategie implementieren - [ ] Caching-Strategie implementieren
- [ ] Asynchrone Verarbeitung für zeitintensive Aufgaben - [ ] Asynchrone Verarbeitung für zeitintensive Aufgaben
@@ -93,6 +103,7 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
- [ ] **Service Worker**: Für Offline-Funktionalität - [ ] **Service Worker**: Für Offline-Funktionalität
## Sicherheit ## Sicherheit
- [ ] Security Audit durchführen - [ ] Security Audit durchführen
- [ ] Implementierung von CSRF-Schutz - [ ] Implementierung von CSRF-Schutz
- [ ] Rate Limiting für API-Endpunkte - [ ] Rate Limiting für API-Endpunkte
@@ -102,15 +113,17 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
## Entwickler-Erfahrung ## Entwickler-Erfahrung
### Dokumentation ✅ ### Dokumentation ✅
- [x] ~~UI-Komponenten-Dokumentation~~**Abgeschlossen**
- [x] ~~Tailwind CSS Setup-Guide~~**Abgeschlossen** - [X] ~~UI-Komponenten-Dokumentation~~**Abgeschlossen**
- [X] ~~Tailwind CSS Setup-Guide~~**Abgeschlossen**
- [ ] API-Dokumentation mit Swagger - [ ] API-Dokumentation mit Swagger
- [ ] Entwickler-Handbuch - [ ] Entwickler-Handbuch
- [ ] Deployment-Guide - [ ] Deployment-Guide
### Tooling ### Tooling
- [x] ~~PostCSS Build-System~~**Abgeschlossen**
- [x] ~~NPM Scripts für Development~~**Abgeschlossen** - [X] ~~PostCSS Build-System~~**Abgeschlossen**
- [X] ~~NPM Scripts für Development~~**Abgeschlossen**
- [ ] **Hot Reload**: Für CSS und Templates - [ ] **Hot Reload**: Für CSS und Templates
- [ ] **Linting**: ESLint, Prettier, Flake8 - [ ] **Linting**: ESLint, Prettier, Flake8
- [ ] **Testing**: Unit Tests, Integration Tests, E2E Tests - [ ] **Testing**: Unit Tests, Integration Tests, E2E Tests
@@ -120,6 +133,7 @@ Die aktuelle Version umfasst die Grundfunktionalitäten:
Wir freuen uns über Beiträge und Feedback zu dieser Roadmap. Wenn Sie Vorschläge haben oder an der Entwicklung teilnehmen möchten, erstellen Sie bitte einen Issue oder Pull Request im Repository. Wir freuen uns über Beiträge und Feedback zu dieser Roadmap. Wenn Sie Vorschläge haben oder an der Entwicklung teilnehmen möchten, erstellen Sie bitte einen Issue oder Pull Request im Repository.
### Aktuelle Prioritäten für Beiträge ### Aktuelle Prioritäten für Beiträge
1. **Testing**: Unit Tests für UI-Komponenten 1. **Testing**: Unit Tests für UI-Komponenten
2. **Accessibility**: WCAG-konforme Verbesserungen 2. **Accessibility**: WCAG-konforme Verbesserungen
3. **Performance**: Optimierung der CSS-Größe 3. **Performance**: Optimierung der CSS-Größe
@@ -128,6 +142,7 @@ Wir freuen uns über Beiträge und Feedback zu dieser Roadmap. Wenn Sie Vorschl
## Changelog ## Changelog
### Version 1.1 (Dezember 2024) ### Version 1.1 (Dezember 2024)
- ✅ Vollständiges UI-Komponenten-System implementiert - ✅ Vollständiges UI-Komponenten-System implementiert
- ✅ Template-Helper für alle gängigen UI-Elemente - ✅ Template-Helper für alle gängigen UI-Elemente
- ✅ JavaScript-Utilities für interaktive Funktionen - ✅ JavaScript-Utilities für interaktive Funktionen
@@ -136,6 +151,7 @@ Wir freuen uns über Beiträge und Feedback zu dieser Roadmap. Wenn Sie Vorschl
- ✅ Demo-Seite für alle Komponenten - ✅ Demo-Seite für alle Komponenten
### Version 1.0 (Juni 2023) ### Version 1.0 (Juni 2023)
- ✅ Grundfunktionalitäten implementiert - ✅ Grundfunktionalitäten implementiert
- ✅ Basis-UI mit Tailwind CSS - ✅ Basis-UI mit Tailwind CSS
- ✅ Dark Mode Support - ✅ Dark Mode Support

File diff suppressed because it is too large Load Diff

View File

@@ -11,115 +11,123 @@ module.exports = {
spacing: { spacing: {
'72': '18rem', '72': '18rem',
'84': '21rem', '84': '21rem',
'96': '24rem', '96': '24rem'
'128': '32rem'
}, },
colors: { colors: {
// Mercedes-Benz Corporate Colors // Mercedes-Benz Corporate Colors
'mercedes': { 'mercedes': {
'black': '#000000', 'black': '#000000',
'deep-black': '#000000', // Tiefes Schwarz für Dashboard-Style
'silver': '#C0C0C0', 'silver': '#C0C0C0',
'dark-gray': '#0a0a0a', // Sehr dunkles Grau für Kontrast 'dark-gray': '#1a1a1a',
'light-gray': '#f5f5f5', 'light-gray': '#f5f5f5',
'platinum': '#E5E4E2', 'platinum': '#E5E4E2',
'charcoal': '#1a1a1a', // Für Rahmen und Grenzen 'charcoal': '#36454F',
'steel': '#71797E' 'steel': '#71797E'
}, },
// Dashboard-kompatible Dark Mode Farben // Dark Mode optimierte Farben - Verbessert
'dark': { 'dark': {
'bg': '#000000', // Tiefes Schwarz wie Dashboard 'bg': '#0f172a', // Dunkler Hintergrund
'bg-secondary': '#0a0a0a', // Sehr dunkles Grau 'bg-secondary': '#131c2e', // Sekundärer Hintergrund noch dunkler
'surface': '#0f0f0f', // Kartenhintergrund 'surface': '#1e293b',
'surface-hover': '#1a1a1a', // Hover-Zustand 'surface-hover': '#334155',
'card': '#0f0f0f', // Karten-Hintergrund 'card': '#1e293b', // Dunklere Kartenfarbe für besseren Kontrast
'card-hover': '#1a1a1a', // Karten-Hover 'card-hover': '#334155', // Dunklerer Hover-Zustand
'text': '#ffffff', 'text': '#f8fafc',
'text-secondary': '#e2e8f0', 'text-secondary': '#e2e8f0',
'text-muted': '#94a3b8', 'text-muted': '#94a3b8',
'text-disabled': '#64748b', 'text-disabled': '#64748b',
'border': '#1a1a1a', // Dunkle Rahmen 'border': '#334155',
'border-light': '#2a2a2a', 'border-light': '#475569',
'hover': '#1a1a1a', 'hover': '#334155', // Dunklerer Hover-Zustand
'focus': '#2a2a2a', 'focus': '#475569',
'accent': '#ffffff' // Weißer Akzent auf schwarzem Hintergrund 'accent': '#4f46e5'
}, },
// Light Mode optimierte Farben // Light Mode optimierte Farben - Verbessert
'light': { 'light': {
'bg': '#ffffff', 'bg': '#ffffff',
'bg-secondary': '#f8fafc', 'bg-secondary': '#f8fafc',
'surface': '#ffffff', 'surface': '#f7fafc',
'surface-hover': '#f8fafc', 'surface-hover': '#edf2f7',
'card': '#ffffff', 'card': '#ffffff',
'card-hover': '#f7fafc', 'card-hover': '#f7fafc',
'text': '#0f172a', 'text': '#1a202c',
'text-secondary': '#334155', 'text-secondary': '#2d3748',
'text-muted': '#64748b', 'text-muted': '#4a5568',
'text-disabled': '#a0aec0', 'text-disabled': '#a0aec0',
'border': '#e2e8f0', 'border': '#e2e8f0',
'border-light': '#f1f5f9', 'border-light': '#edf2f7',
'hover': '#f1f5f9', 'hover': '#f1f5f9',
'focus': '#e2e8f0', 'focus': '#e2e8f0',
'accent': '#000000' // Schwarzer Akzent auf weißem Hintergrund 'accent': '#3b82f6'
}, },
// Professional Theme Colors // Status Farben - Erweitert
'professional': { 'status': {
'primary': '#000000', // Mercedes Schwarz 'online': '#10b981',
'secondary': '#ffffff', // Reines Weiß 'offline': '#ef4444',
'accent': '#0ea5e9', // Mercedes Blau Akzent
'muted': '#64748b',
'success': '#10b981',
'warning': '#f59e0b', 'warning': '#f59e0b',
'error': '#ef4444' 'info': '#3b82f6',
'success': '#059669',
'error': '#dc2626',
'pending': '#8b5cf6',
'processing': '#06b6d4',
'unknown': '#6b7280'
},
// Printer Status Farben - Erweitert
'printer': {
'ready': '#10b981',
'busy': '#f59e0b',
'error': '#ef4444',
'offline': '#6b7280',
'maintenance': '#8b5cf6',
'initializing': '#06b6d4'
},
// Job Status Farben - Erweitert
'job': {
'queued': '#6b7280',
'printing': '#3b82f6',
'completed': '#10b981',
'failed': '#ef4444',
'cancelled': '#f59e0b',
'paused': '#8b5cf6',
'retrying': '#f97316'
},
// Accent Farben - Erweitert
'accent': {
'primary': '#3b82f6',
'secondary': '#8b5cf6',
'tertiary': '#06b6d4',
'quaternary': '#10b981',
'quinary': '#f97316'
},
// Gradient Farben - Erweitert
'gradient': {
'from-blue': '#3b82f6',
'to-purple': '#8b5cf6',
'from-green': '#10b981',
'to-blue': '#3b82f6',
'from-purple': '#8b5cf6',
'to-pink': '#ec4899',
'from-orange': '#f97316',
'to-red': '#ef4444'
} }
}, },
backgroundImage: { typography: {
'gradient-professional': 'linear-gradient(135deg, #000000 0%, #0a0a0a 50%, #000000 100%)', DEFAULT: {
'gradient-professional-light': 'linear-gradient(135deg, #ffffff 0%, #f8fafc 50%, #f1f5f9 100%)' css: {
'code::before': {
content: 'none',
},
'code::after': {
content: 'none',
},
},
},
}, },
boxShadow: { boxShadow: {
'glass': '0 8px 32px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(255, 255, 255, 0.05)', 'mercedes': '0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)',
'glass-dark': '0 8px 32px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.1)', 'card-dark': '0 4px 6px -1px rgba(0, 0, 0, 0.3), 0 2px 4px -1px rgba(0, 0, 0, 0.2)',
'professional': '0 20px 40px rgba(0, 0, 0, 0.1)',
'professional-dark': '0 20px 40px rgba(0, 0, 0, 0.6)',
'card-professional': '0 10px 30px rgba(0, 0, 0, 0.1)',
'card-professional-dark': '0 10px 30px rgba(0, 0, 0, 0.4)'
},
backdropBlur: {
'xs': '2px',
'professional': '20px'
},
animation: {
'fade-in': 'fadeIn 0.6s ease-out',
'slide-up': 'slideUp 0.6s ease-out',
'scale-in': 'scaleIn 0.4s ease-out',
'pulse-professional': 'pulseProfessional 2s infinite'
},
keyframes: {
fadeIn: {
'0%': { opacity: '0' },
'100%': { opacity: '1' }
},
slideUp: {
'0%': { opacity: '0', transform: 'translateY(30px)' },
'100%': { opacity: '1', transform: 'translateY(0)' }
},
scaleIn: {
'0%': { opacity: '0', transform: 'scale(0.9)' },
'100%': { opacity: '1', transform: 'scale(1)' }
},
pulseProfessional: {
'0%, 100%': { opacity: '1', transform: 'scale(1)' },
'50%': { opacity: '0.5', transform: 'scale(1.1)' }
}
},
fontFamily: {
'mercedes': ['Inter', 'system-ui', 'sans-serif']
} }
}, },
}, },
plugins: [ plugins: [],
require('@tailwindcss/forms'),
require('@tailwindcss/typography')
],
} }