Till Tomczak 2d33753b94 feat: Major updates to backend structure and security enhancements
- Removed `COMMON_ERRORS.md` file to streamline documentation.
- Added `Flask-Limiter` for rate limiting and `redis` for session management in `requirements.txt`.
- Expanded `ROADMAP.md` to include completed security features and planned enhancements for version 2.2.
- Enhanced `setup_myp.sh` for ultra-secure kiosk installation, including system hardening and security configurations.
- Updated `app.py` to integrate CSRF protection and improved logging setup.
- Refactored user model to include username and active status for better user management.
- Improved job scheduler with uptime tracking and task management features.
- Updated various templates for a more cohesive user interface and experience.
2025-05-25 20:33:38 +02:00

5.8 KiB

MYP Platform - Entwicklungs-Roadmap

Dieses Dokument beschreibt die geplanten Entwicklungsschritte und zukünftigen Features für das MYP 3D-Drucker Reservierungssystem.

Aktuelle Version: 1.1

Die aktuelle Version umfasst die Grundfunktionalitäten:

  • Benutzerauthentifizierung und -verwaltung
  • Druckerverwaltung
  • Job-Scheduling und -Überwachung
  • Smart Plug Integration
  • Vollständiges UI-Komponenten-System mit Tailwind CSS
  • Template-Helper für einfache UI-Entwicklung
  • JavaScript-Utilities für interaktive Komponenten
  • Dark Mode Support
  • Responsive Design
  • Umfassende UI-Dokumentation

Kürzlich Abgeschlossen (Version 1.1)

UI/UX Verbesserungen

  • Template-Helper-System: Jinja2-Helper für Buttons, Badges, Cards, Alerts, Modals, Tabellen
  • JavaScript-Utilities: Toast-Nachrichten, Modal-Steuerung, Dropdown-Management, Loading-Anzeigen
  • Status-System: Automatische Status-Badges für Jobs und Drucker mit deutscher Übersetzung
  • Icon-System: Integrierte SVG-Icons für konsistente UI
  • Filter-System: Deutsche Datumsformatierung, Dauer-Formatierung, JSON-Encoding
  • Demo-Seite: Vollständige Demonstration aller UI-Komponenten unter /demo
  • Dokumentation: Umfassende UI-Komponenten-Dokumentation (UI_COMPONENTS.md)

Technische Verbesserungen

  • PostCSS-Integration: Automatische CSS-Verarbeitung mit Tailwind und Autoprefixer
  • Build-System: NPM-Scripts für CSS-Kompilierung und Watch-Modus
  • Komponenten-Architektur: Modulares System für wiederverwendbare UI-Elemente
  • Template-Integration: Nahtlose Integration in Flask-Templates

Geplante Features

Version 1.2 (Kurzfristig)

  • E-Mail-Benachrichtigungen bei Job-Status-Änderungen
  • Verbesserte Fehlerbehandlung und Logging
  • Nutzungsstatistiken und Berichte
  • Feinere Berechtigungssteuerung
  • Erweiterte UI-Komponenten: Datepicker, File-Upload, Progress-Bars
  • Formular-Validierung: Client- und serverseitige Validierung mit UI-Feedback

Version 1.3 (Mittelfristig)

  • Druckerprofile mit spezifischen Eigenschaften (Druckvolumen, Materialien, etc.)
  • Materialverwaltung und -tracking
  • Verbessertes Dashboard mit Echtzeit-Updates
  • HTMX-Integration: Für bessere Interaktivität ohne JavaScript-Framework
  • Drag & Drop: Für Job-Reihenfolge und Datei-Uploads
  • Erweiterte Tabellen: Sortierung, Filterung, Pagination

Version 2.0 (Langfristig)

  • OctoPrint Integration für direkte Druckersteuerung
  • Mobile App mit Push-Benachrichtigungen
  • Wartungsplanung und -tracking
  • Multi-Standort-Unterstützung
  • Progressive Web App (PWA): Offline-Funktionalität und App-Installation
  • Erweiterte Themes: Anpassbare Farbschemata und Layouts

Technische Verbesserungen

Backend

  • Refactoring für verbesserte Modularität
  • REST API Dokumentation mit Swagger/OpenAPI
  • Verbesserte Testabdeckung
  • Migration zu SQLAlchemy 2.0
  • WebSocket-Integration: Für Echtzeit-Updates

Frontend

  • Optimierung der Benutzeroberfläche Abgeschlossen
  • UI-Komponenten-System Abgeschlossen
  • HTMX-Integration: Für bessere Interaktivität ohne komplexe JavaScript-Frameworks
  • Progressive Web App (PWA): Funktionalität für App-ähnliche Erfahrung
  • Barrierefreiheit: Nach WCAG-Richtlinien
  • Performance-Optimierung: Lazy Loading, Code Splitting

CSS/Styling

  • Tailwind CSS Integration Abgeschlossen
  • PostCSS Build-Pipeline Abgeschlossen
  • Dark Mode Support Abgeschlossen
  • Responsive Design Abgeschlossen
  • CSS-Optimierung: Purging ungenutzter Styles, Critical CSS
  • Animation-System: Micro-Interactions und Übergänge

Leistung und Skalierung

  • Optimierung der Datenbankabfragen
  • Caching-Strategie implementieren
  • Asynchrone Verarbeitung für zeitintensive Aufgaben
  • Docker-Container für einfache Bereitstellung
  • CDN-Integration: Für statische Assets
  • Service Worker: Für Offline-Funktionalität

Sicherheit

  • Security Audit durchführen
  • Implementierung von CSRF-Schutz
  • Rate Limiting für API-Endpunkte
  • Zwei-Faktor-Authentifizierung
  • Content Security Policy (CSP): Schutz vor XSS-Angriffen

Entwickler-Erfahrung

Dokumentation

  • UI-Komponenten-Dokumentation Abgeschlossen
  • Tailwind CSS Setup-Guide Abgeschlossen
  • API-Dokumentation mit Swagger
  • Entwickler-Handbuch
  • Deployment-Guide

Tooling

  • PostCSS Build-System Abgeschlossen
  • NPM Scripts für Development Abgeschlossen
  • Hot Reload: Für CSS und Templates
  • Linting: ESLint, Prettier, Flake8
  • Testing: Unit Tests, Integration Tests, E2E Tests

Community und Beiträge

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

  1. Testing: Unit Tests für UI-Komponenten
  2. Accessibility: WCAG-konforme Verbesserungen
  3. Performance: Optimierung der CSS-Größe
  4. Dokumentation: Übersetzungen und Beispiele

Changelog

Version 1.1 (Dezember 2024)

  • Vollständiges UI-Komponenten-System implementiert
  • Template-Helper für alle gängigen UI-Elemente
  • JavaScript-Utilities für interaktive Funktionen
  • PostCSS Build-Pipeline mit Tailwind CSS
  • Umfassende Dokumentation erstellt
  • Demo-Seite für alle Komponenten

Version 1.0 (Juni 2023)

  • Grundfunktionalitäten implementiert
  • Basis-UI mit Tailwind CSS
  • Dark Mode Support

Zuletzt aktualisiert: Dezember 2024