# Trekking Packliste Eine moderne, webbasierte Anwendung zur Verwaltung von Packlisten für Wanderungen, Trekking-Touren und Reisen. Die Anwendung hilft dir, deine Ausrüstung zu organisieren, das Gewicht zu optimieren und nichts Wichtiges zu vergessen. Besonderer Fokus liegt auf der Zusammenarbeit in **Haushalten** und einer hierarchischen Packstruktur (z.B. *Inhalt im Kulturbeutel* im *Rucksack*). ## Inhaltsverzeichnis 1. [Features](#funktionen) 2. [Installation & Einrichtung](#installation) 3. [Bedienungsanleitung](#bedienungsanleitung) * [Erste Schritte & Haushalte](#1-erste-schritte--haushalte) * [Ausrüstung verwalten (Artikel)](#2-ausrüstung-verwalten-artikel) * [Stammdaten (Kategorien, Orte, Hersteller)](#3-stammdaten-kategorien-orte-hersteller) * [Packlisten erstellen & bearbeiten](#4-packlisten-erstellen--bearbeiten) * [Drucken & Export](#5-drucken--export) * [Profil & Einstellungen](#6-profil--einstellungen) 4. [Technologie](#technologie) --- ## Funktionen * **Artikeldatenbank:** Erfasse deine gesamte Ausrüstung mit Bild, Gewicht, Hersteller und Kategorie. * **Intelligente Packlisten:** * **Drag & Drop Editor:** Ziehe Artikel einfach aus deinem Bestand in die Liste. * **Verschachtelung (Nesting):** Organisiere deine Liste logisch. Ziehe Socken *in* den Packsack und den Packsack *in* den Rucksack. * **Haushalts-Modus:** Teile deinen Artikelbestand und deine Listen mit Familie oder Freunden. * **Gewichtskalkulation:** Sieh sofort, wie schwer dein Rucksack ist und wie viel Gewicht auf welche Kategorie (z.B. "Kochen", "Schlafen") entfällt. * **Druck-Optimierung:** Generiere eine übersichtliche PDF/Druckansicht zum Abhaken. * **Modernes UI:** Responsive Oberfläche mit Dark-Glass-Effekten. --- ## Installation ### Voraussetzungen * Webserver (Apache mit `mod_rewrite` empfohlen, oder Nginx) * PHP 8.0 oder höher * MariaDB / MySQL Datenbank * PHP-Erweiterungen: `mysqli`, `gd` (für Bildbearbeitung) ### Schritt-für-Schritt 1. **Dateien hochladen:** Kopiere alle Dateien aus diesem Repository in das Web-Verzeichnis deines Servers (z.B. `/var/www/html/packliste`). 2. **Datenbank einrichten:** * Erstelle eine leere Datenbank (z.B. `packliste`). * Importiere die Datei `packliste.sql` in diese Datenbank (z.B. via phpMyAdmin oder Konsole). 3. **Konfiguration:** * Erstelle eine Datei `config.ini` **außerhalb** des öffentlichen Web-Verzeichnisses (z.B. ein Verzeichnis höher als `index.php`). * Inhalt der `config.ini`: ```ini servername = localhost username = dein_db_benutzer password = dein_db_passwort dbname = packliste ``` * *Hinweis:* Die Anwendung sucht standardmäßig unter `../config.ini`. 4. **Berechtigungen:** Stelle sicher, dass der Webserver Schreibrechte auf den Ordner `uploads/` und `uploads/images/` hat. --- ## Bedienungsanleitung ### 1. Erste Schritte & Haushalte Nach der Registrierung landest du auf dem Dashboard. Die App ist darauf ausgelegt, dass man Ausrüstung teilen kann. * **Haushalt gründen:** Unter dem Menüpunkt **"Haushalt"** kannst du einen neuen Haushalt erstellen (z.B. "WG Müller" oder "Familie Schmidt"). * **Mitglieder einladen:** Als Admin des Haushalts kannst du andere registrierte Benutzer per Benutzernamen einladen. Diese sehen nach dem Login eine Einladung, die sie annehmen können. * **Vorteil:** Alle Artikel, die als "Für Haushalt freigegeben" markiert sind, können von allen Mitgliedern in deren Packlisten verwendet werden. ### 2. Ausrüstung verwalten (Artikel) Unter **"Artikel"** pflegst du deinen Bestand. * **Erstellen:** Klicke auf "Neuen Artikel hinzufügen". * **Bilder:** Du kannst Bilder hochladen, eine URL angeben oder (am Desktop sehr praktisch) ein Bild einfach per **Strg+V (Copy & Paste)** in das markierte Feld einfügen. * **Eigenschaften:** * **Gewicht:** Sei präzise! Das ist die Basis für die Statistiken. * **Verbrauchsartikel:** Markiere Dinge wie Gas, Essen oder Sonnencreme. Diese haben in Packlisten standardmäßig die Menge 1, können aber beliebig erhöht werden. * **Lagerort:** Hilft dir, das Zeug zu Hause wiederzufinden. * **Listenansicht:** Die Artikelliste ist nach Kategorien gruppiert. Du kannst Kategorien ein- und ausklappen und oben über das Suchfeld blitzschnell filtern (z.B. nach "Zelt" oder "Merino"). ### 3. Stammdaten (Kategorien, Orte, Hersteller) Damit alles ordentlich bleibt, solltest du die Stammdaten pflegen: * **Kategorien:** Definiere grobe Gruppen wie "Schlafen", "Küche", "Kleidung". * **Lagerorte:** Hierarchisch aufgebaut (z.B. "Kellerregal" -> "Kiste 3"). * **Hersteller:** Wird oft beim Artikelanlegen automatisch mit angelegt, kann hier aber bereinigt werden. ### 4. Packlisten erstellen & bearbeiten Dies ist das Herzstück der Anwendung. 1. Gehe zu **"Packlisten"** und erstelle eine neue Liste. 2. Klicke in der Übersicht auf **"Artikel verwalten"** (das Box-Icon) oder "Bearbeiten". #### Der Packlisten-Editor (Drag & Drop) Der Editor ist zweigeteilt: * **Links:** Dein verfügbarer Artikelbestand (filterbar). * **Rechts:** Deine Packliste, gruppiert nach Trägern (Personen im Haushalt). **Bedienung:** * **Hinzufügen:** Ziehe einen Artikel von links nach rechts in den Bereich einer Person. * **Verschachteln (Nesting):** Das Killer-Feature! Du kannst Artikel **in** andere Artikel ziehen. * *Beispiel:* Ziehe den "Schlafsack" auf den "Rucksack". Der Schlafsack ist nun logisch im Rucksack verpackt. * Dies hilft enorm, die Übersicht zu behalten und beim Packen strukturiert vorzugehen. * **Sortieren:** Ziehe Artikel nach oben oder unten, um die Reihenfolge zu ändern. * **Menge:** Ändere die Anzahl direkt im Eingabefeld. * **Komponenten:** Wenn du einen Artikel hinzufügst, der selbst Unter-Artikel im Bestand definiert hat (z.B. "Zelt" besteht aus "Zeltplane", "Gestänge", "Heringen"), fragt dich die App, ob diese Komponenten automatisch mit auf die Liste sollen. ### 5. Drucken & Export Klicke in der Packlisten-Übersicht auf **"Details ansehen"** (Augen-Icon). * **Ansicht:** Du siehst eine hierarchische Baumstruktur deiner Liste. * **Statistiken:** Rechts (oder mobil unten) siehst du Diagramme zur Gewichtsverteilung nach Kategorie und Träger. * **Drucken:** Klicke auf "Drucken". Die Ansicht ist speziell für Papier optimiert: * Farben und Bilder werden reduziert. * Checkboxen zum manuellen Abhaken werden eingeblendet. * Ideal als Checkliste für den Rucksack-Pack-Abend. ### 6. Profil & Einstellungen Unter **"Profil"** kannst du: * Dein Passwort und Benutzernamen ändern. * **App-Einstellungen:** * *Tabellenanzeige:* Wie viele Items pro Seite? * *Kategorien:* Sollen in der Artikelübersicht alle Kategorien standardmäßig eingeklappt sein? (Nützlich bei sehr vielen Artikeln). --- ## Technologie Das Projekt basiert auf bewährten Web-Standards: * **Backend:** PHP 8.2 (Natives PHP, keine schweren Frameworks) * **Frontend:** HTML5, CSS3 (Custom Theme), Bootstrap 5 * **Datenbank:** MariaDB / MySQL * **JavaScript:** Vanilla JS + Sortable.js (für Drag & Drop) + Chart.js (für Diagramme).