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
Funktionen
- Artikeldatenbank: Erfasse deine gesamte Ausrüstung mit Bild, Gewicht, Hersteller und Kategorie.
- Rucksack-Management: Definiere deine Rucksäcke inkl. Fächern (Deckelfach, Bodenfach, etc.).
- Intelligente Packlisten:
- Drag & Drop Editor: Ziehe Artikel einfach aus deinem Bestand in die Liste.
- Container-Logik: Weise Trägern Rucksäcke zu. Die Fächer erscheinen automatisch als Ordner, in die du packen kannst.
- Verschachtelung (Nesting): Organisiere deine Liste logisch (z.B. Erste-Hilfe-Set im Deckelfach).
- 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_rewriteempfohlen, oder Nginx) - PHP 8.0 oder höher
- MariaDB / MySQL Datenbank
- PHP-Erweiterungen:
mysqli,gd(für Bildbearbeitung)
Neuinstallation
-
Dateien hochladen: Kopiere alle Dateien aus diesem Repository in das Web-Verzeichnis deines Servers (z.B.
/var/www/html/packliste). -
Datenbank einrichten:
- Erstelle eine leere Datenbank (z.B.
packliste). - Importiere die Datei
packliste.sqlin diese Datenbank (z.B. via phpMyAdmin oder Konsole).
- Erstelle eine leere Datenbank (z.B.
-
Konfiguration:
- Erstelle eine Datei
config.iniaußerhalb des öffentlichen Web-Verzeichnisses (z.B. ein Verzeichnis höher alsindex.php). - Inhalt der
config.ini:servername = localhost username = dein_db_benutzer password = dein_db_passwort dbname = packliste - Hinweis: Die Anwendung sucht standardmäßig unter
../config.ini.
- Erstelle eine Datei
Docker Deployment
Die Anwendung ist vollständig containerisiert ("Dockerized"). Du kannst sie direkt als Container starten und mit einer beliebigen externen MySQL/MariaDB-Datenbank verbinden.
-
Image bauen:
docker build -t packliste-app . -
Container starten: (Ersetze die Platzhalter durch deine Datenbank-Zugangsdaten)
docker run -d \ -p 8080:80 \ -e DB_HOST="deine-datenbank-ip" \ -e DB_USER="dein_db_user" \ -e DB_PASSWORD="dein_db_passwort" \ -e DB_NAME="packliste" \ -v packliste_uploads:/var/www/html/uploads \ --name packliste-container \ packliste-appDie App ist anschließend unter
http://localhost:8080erreichbar.
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 & Rucksäcke)
- Artikel: Pfleg deinen Bestand unter "Artikel". Du kannst Bilder hochladen, eine URL angeben oder Bilder per Copy & Paste einfügen.
- Rucksäcke: Unter "Rucksäcke" legst du deine Transportmittel an. Definiere hier auch die Fächer (z.B. Hauptfach, Deckelfach, Hüftgurt). Diese dienen später als Container in deinen Listen.
3. Packlisten erstellen & bearbeiten
Dies ist das Herzstück der Anwendung.
- Gehe zu "Packlisten" und erstelle eine neue Liste.
- Rucksack-Zuweisung: Wähle direkt beim Erstellen (oder später unter "Details bearbeiten"), wer welchen Rucksack trägt.
- Klicke in der Übersicht auf "Artikel verwalten" (das Box-Icon).
Der Packlisten-Editor (Drag & Drop)
Der Editor ist zweigeteilt:
- Links: Dein verfügbarer Artikelbestand (filterbar).
- Rechts: Deine Packliste, gruppiert nach Trägern und deren Rucksäcken/Fächern.
Bedienung:
- Packen: Ziehe Artikel in die entsprechenden Fächer deines Rucksacks.
- Verschachteln: Du kannst Artikel auch in andere Artikel ziehen (z.B. "Socken" in "Packbeutel").
- Sortieren: Ziehe Artikel nach oben oder unten, um die Reihenfolge zu ändern.
4. Drucken & Export
Klicke in der Packlisten-Übersicht auf "Details ansehen" (Augen-Icon).
- Ansicht: Du siehst eine hierarchische Baumstruktur deiner Liste. Rucksäcke sind grün hinterlegt.
- Drucken: Klicke auf "Drucken". Die Ansicht ist speziell für Papier optimiert (fettgedruckte Fächer, Checkboxen für Artikel).
5. Profil & Einstellungen
Unter "Profil" kannst du dein Passwort ändern und App-Einstellungen vornehmen.
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).