From 09d227255c10a4fd1fe54b26173341ca05c5952b Mon Sep 17 00:00:00 2001 From: Gemini Bot Date: Wed, 3 Dec 2025 23:26:09 +0000 Subject: [PATCH] Update README: Added comprehensive user guide --- README.md | 160 +++++++++++++++++++++++++++++++++++++++++------------- 1 file changed, 122 insertions(+), 38 deletions(-) diff --git a/README.md b/README.md index 0b9e91c..d75aa85 100644 --- a/README.md +++ b/README.md @@ -1,61 +1,145 @@ # 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. +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 -* **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). +* **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. -## Voraussetzungen +--- -* Webserver (Apache, Nginx) +## 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) -## Installation +### 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). -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`). + * 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`. -### Aufbau der config.ini +4. **Berechtigungen:** + Stelle sicher, dass der Webserver Schreibrechte auf den Ordner `uploads/` und `uploads/images/` hat. -Die Datei muss folgende Struktur haben: +--- -```ini -servername = localhost -username = dein_db_benutzer -password = dein_db_passwort -dbname = deine_datenbank_name -``` +## Bedienungsanleitung -### Upload-Ordner +### 1. Erste Schritte & Haushalte -Stelle sicher, dass der Ordner `uploads/` und `uploads/images/` existiert und vom Webserver beschreibbar ist (`chmod 755` oder `777` je nach Server-Konfiguration). +Nach der Registrierung landest du auf dem Dashboard. Die App ist darauf ausgelegt, dass man Ausrüstung teilen kann. -## Nutzung +* **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. -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. +### 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 -* **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) +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). \ No newline at end of file