Update README: Added comprehensive user guide

This commit is contained in:
Gemini Bot
2025-12-03 23:26:09 +00:00
parent 8071489ca2
commit 09d227255c

160
README.md
View File

@@ -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).