# Trekking Packliste Eine moderne, webbasierte Anwendung zur Verwaltung von Packlisten für Wanderungen, Trekking-Touren und Reisen. Ermöglicht das Erstellen von Artikeln, das Organisieren in hierarchischen Packlisten und die Zusammenarbeit in Haushalten. ## Funktionen * **Artikelverwaltung:** Erfassen von Ausrüstungsgegenständen mit Gewicht, Kategorie, Hersteller und Bildern. * **Packlisten:** Zusammenstellen von Artikeln zu Listen. Unterstützt Drag & Drop mit Verschachtelung (z.B. Rucksack -> Packsack -> Socken). * **Haushalte:** Gemeinsame Nutzung von Artikeln und Listen mit anderen Benutzern. * **Gewichtskalkulation:** Automatische Berechnung des Gesamtgewichts und Aufschlüsselung nach Kategorien und Trägern. * **Druckansicht:** Optimierte Ansicht für den Ausdruck der Packliste. * **Modernes UI:** Responsives Design mit Glassmorphism-Effekten und Dark-Mode-Ansätzen (Grünes Theme). ## Voraussetzungen * Webserver (Apache, Nginx) * PHP 8.0 oder höher * MariaDB / MySQL Datenbank * PHP-Erweiterungen: `mysqli`, `gd` (für Bildbearbeitung) ## Installation 1. **Dateien kopieren:** Lade den Inhalt dieses Repositories in das Web-Verzeichnis deines Servers hoch. 2. **Datenbank:** * Erstelle eine neue Datenbank (z.B. `packliste`). * Importiere die Struktur (Tabellen) in die Datenbank. (Ein SQL-Schema sollte separat bereitgestellt werden oder existiert bereits). 3. **Konfiguration:** * Erstelle eine Datei `config.ini` **außerhalb** des öffentlichen Web-Verzeichnisses (aus Sicherheitsgründen empfohlen) oder schütze sie per `.htaccess`. * Standardmäßig sucht die Anwendung die `config.ini` ein Verzeichnis **über** dem Webroot (`../config.ini`). ### Aufbau der config.ini Die Datei muss folgende Struktur haben: ```ini servername = localhost username = dein_db_benutzer password = dein_db_passwort dbname = deine_datenbank_name ``` ### Upload-Ordner Stelle sicher, dass der Ordner `uploads/` und `uploads/images/` existiert und vom Webserver beschreibbar ist (`chmod 755` oder `777` je nach Server-Konfiguration). ## Nutzung 1. Registriere dich auf der Startseite. 2. Lege im Profil deine Einstellungen fest. 3. Erstelle Artikel unter "Artikel". 4. Erstelle eine Packliste und füge Artikel per Drag & Drop hinzu. ## Technologie * **Backend:** Natives PHP 8.2 * **Datenbank:** MariaDB * **Frontend:** HTML5, CSS3 (Custom Glassmorphism Theme), Bootstrap 5 * **Bibliotheken:** * Sortable.js (Drag & Drop) * Chart.js (Statistiken) * FontAwesome (Icons)