Update README: Added comprehensive user guide
This commit is contained in:
160
README.md
160
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).
|
||||
Reference in New Issue
Block a user