# đŸ” TeeTracker > **Dein persönlicher Tee-Konsum Tracker** – Verwalte deine Tee-Sorten und tracke, wie viel Tee du trinkst! [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT) [![HTML5](https://img.shields.io/badge/HTML5-E34F26?logo=html5&logoColor=white)] [![CSS3](https://img.shields.io/badge/CSS3-1572B6?logo=css3&logoColor=white)] [![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?logo=javascript&logoColor=black)] [![Chart.js](https://img.shields.io/badge/Chart.js-FF6384?logo=chart.js&logoColor=white)] --- ## 📾 Screenshots | Dashboard | Tee-Sorten | Tracken | Statistiken | Einstellungen | |-----------|------------|---------|-------------|--------------| | ![Dashboard](https://via.placeholder.com/300x200/8B4513/FFFFFF?text=Dashboard) | ![Tee-Sorten](https://via.placeholder.com/300x200/4ECDC4/FFFFFF?text=Tee-Sorten) | ![Tracken](https://via.placeholder.com/300x200/228B22/FFFFFF?text=Tracken) | ![Statistiken](https://via.placeholder.com/300x200/FF6347/FFFFFF?text=Statistiken) | ![Einstellungen](https://via.placeholder.com/300x200/6c757d/FFFFFF?text=Einstellungen) | *(Screenshots werden automatisch generiert, sobald die App live ist)* --- ## ✹ Funktionen ### 📊 Dashboard - **GesamtĂŒbersicht**: Alle getrunkenen Tassen seit Beginn - **Heute**: Wie viel Tee du heute schon getrunken hast - **Diese Woche**: Wöchentlicher Konsum - **Tee-Sorten**: Anzahl deiner gespeicherten Sorten - **Letzte AktivitĂ€ten**: Die letzten 5 getrackten EintrĂ€ge ### 🍃 Tee-Sorten verwalten - **HinzufĂŒgen**: Neue Tee-Sorten mit allen Details anlegen - Name (Pflichtfeld) - Typ (Schwarztee, GrĂŒntee, Weißtee, Oolong, Pu-Erh, FrĂŒchtetee, KrĂ€utertee, Sonstiges) - **Bio-Checkbox** đŸŒ±: Kennzeichnung fĂŒr Bio-Tees - Marke (optional) - Beschreibung (optional) - Farbe (fĂŒr individuelle Darstellung) - **Bearbeiten**: Bestehende Sorten anpassen - **Löschen**: Sorten entfernen (mit BestĂ€tigung) - **Suche & Filter**: Schnell finden, was du suchst - Textsuche nach Name, Marke oder Beschreibung - Filter nach Tee-Typ ### 📝 Tee-Konsum tracken - **Tee-Sorte** auswĂ€hlen (Pflichtfeld) - **Datum** auswĂ€hlen (Pflichtfeld, standardmĂ€ĂŸig heute) - **Uhrzeit** angeben (optional) - **Menge** in Tassen (Pflichtfeld, 1-10) - **Notizen** hinzufĂŒgen (z.B. "Mit Honig", "besonders stark") - **Letzte 10 EintrĂ€ge** werden unter dem Formular angezeigt ### 📈 Statistiken - **Diagramme**: Visuelle Darstellung deines Konsums - Donut-Chart: Verteilung nach Tee-Typen - Balkendiagramm: Tagesverlauf - **Detaillierte Statistiken** - Gesamt getrunken - Durchschnitt pro Tag - Aktive Tage - Verschiedene Tees - Meist getrunkener Tee - **Zeitraum-Filter**: **Heute**, Letzte 7 Tage, Monat, Jahr oder Gesamt ### ⚙ Einstellungen (NEU!) - **Lokale Dateispeicherung** đŸ’Ÿ - Daten werden im `data/`-Verzeichnis gespeichert (falls ein lokaler Server lĂ€uft) - Automatischer Fallback auf Browser-Speicher (localStorage) - Export/Import-Funktionen fĂŒr Datensicherung - **Datenverwaltung** - đŸ“€ **Daten exportieren** (JSON-Datei herunterladen) - đŸ“„ **Daten importieren** (JSON-Datei hochladen) - đŸ—‘ïž **Alle Daten löschen** (mit BestĂ€tigung) - **Statistik-Übersicht** - Gesamt Tassen - Anzahl Tee-Sorten - Erster/Letzter Eintrag --- ## 🚀 Schnellstart ### Option 1: Lokal nutzen 1. **Repository klonen** (oder Dateien herunterladen): ```bash git clone https://github.com/trevor1969/teatracker.git cd teatracker ``` 2. **index.html öffnen**: - Einfach die `index.html` Datei in deinem Browser öffnen - Oder einen lokalen Server starten: ```bash # Mit Python 3 python -m http.server 8000 # Mit Node.js (npx) npx serve ``` - Dann im Browser `http://localhost:8000` öffnen ### Option 2: GitHub Pages 1. Gehe zu deinem Repository auf GitHub 2. Aktiviere GitHub Pages: - Settings → Pages - Branch: `main` auswĂ€hlen - Folder: `/ (root)` auswĂ€hlen 3. Deine App ist dann unter `https://trevor1969.github.io/teatracker/` erreichbar ### Option 2: Mit lokalem Server (empfohlen fĂŒr Dateispeicherung) 1. **Repository klonen** (oder Dateien herunterladen): ```bash git clone https://github.com/trevor1969/teatracker.git cd teatracker ``` 2. **Lokalen Server starten**: ```bash # Mit Python 3 python -m http.server 8000 # Mit Node.js (npx) npx serve ``` 3. **App öffnen** im Browser: `http://localhost:8000` 4. **Fertig!** 🎉 Deine Daten werden automatisch im `data/`-Verzeichnis gespeichert **Hinweis:** Die App versucht zunĂ€chst, Dateien im `data/`-Verzeichnis zu speichern. Falls das nicht funktioniert (z.B. bei direkter Datei-Öffnung ohne Server), fĂ€llt sie automatisch auf localStorage zurĂŒck. --- ## 🛠 Technologien - **Frontend**: HTML5, CSS3, Vanilla JavaScript (ES6+) - **Charts**: [Chart.js](https://www.chartjs.org/) (ĂŒber CDN) - **Lokale Speicherung**: Dateisystem (data/-Verzeichnis) oder Browser localStorage - **Lokaler Speicher**: localStorage (Fallback) - **Design**: Responsive, Mobile-First, Tee-inspirierte Farben --- ## 📩 Projektstruktur ``` teatracker/ ├── index.html # Haupt-HTML-Datei mit allen Tabs ├── styles.css # Alle Styles und Design ├── app.js # gesamte Anwendungslogik + lokale Dateispeicherung ├── README.md # Diese Datei └── LICENSE # MIT License ``` --- ## đŸ’Ÿ Lokale Dateispeicherung (Version 4.0) Ab Version 4.0 werden die Daten lokal im `data/`-Verzeichnis gespeichert, das sich im selben Verzeichnis wie die Programmdateien befindet. ### Wie es funktioniert Die App speichert Daten als JSON-Dateien im lokalen Dateisystem: ``` data/ ├── teas.json # Deine Tee-Sorten ├── entries.json # Deine Tracking-EintrĂ€ge └── backup/ # Manuelle Backups (optional) └── teetracker_backup_2024-06-05T10-30-00.json ``` ### Speichermechanismus 1. **Mit lokalem Server**: Wenn die App ĂŒber einen lokalen Server (z.B. `python -m http.server`) geöffnet wird, werden die Daten im `data/`-Verzeichnis gespeichert 2. **Ohne Server**: Falls die App direkt als Datei geöffnet wird, fĂ€llt sie automatisch auf Browser-Speicher (localStorage) zurĂŒck 3. **Export/Import**: Daten können jederzeit als JSON-Datei exportiert und importiert werden ### Vorteile | Vorteil | Beschreibung | |---------|--------------| | **📁 Einfache Dateispeicherung** | Daten liegen direkt bei den Programmdateien | | **🔄 Automatische Erkennung** | Erkennt automatisch, ob Dateispeicherung möglich ist | | **đŸ’Ÿ Fallback auf localStorage** | Funktioniert auch ohne Server | | **⚡ Schnell** | Keine externe AbhĂ€ngigkeiten, einfache JSON-Dateien | | **🔒 PrivatsphĂ€re** | Alle Daten bleiben lokal auf deinem GerĂ€t | ### Daten sichern (Backup) **Option 1: Automatisch (Dateisystem)** - Die Daten werden automatisch im `data/`-Verzeichnis gespeichert - Einfach das gesamte `data/`-Verzeichnis sichern **Option 2: Manuell (Export)** 1. Gehe zu **Einstellungen → Datenverwaltung** 2. Klicke auf **đŸ“€ Daten exportieren** 3. Speichere die JSON-Datei an einem sicheren Ort ### Daten wiederherstellen (Restore) **Option 1: Automatisch (Dateisystem)** - Kopiere die gesicherten Dateien zurĂŒck in das `data/`-Verzeichnis - Starte die App neu **Option 2: Manuell (Import)** 1. Gehe zu **Einstellungen → Datenverwaltung** 2. Klicke auf **đŸ“„ Daten importieren** 3. FĂŒge deine exportierten Daten ein oder lade die JSON-Datei hoch 4. WĂ€hle, ob du die Daten **ersetzen** oder **zusammenfĂŒhren** möchtest --- ## 🎹 Design ### Farben | Farbe | Hex | Verwendung | |-------|-----|------------| | ![#8B4513](https://via.placeholder.com/20/8B4513/000000?text=+) `#8B4513` | PrimĂ€rfarbe (Braun) | | ![#4ECDC4](https://via.placeholder.com/20/4ECDC4/000000?text=+) `#4ECDC4` | SekundĂ€rfarbe (TĂŒrkis) | | ![#228B22](https://via.placeholder.com/20/228B22/000000?text=+) `#228B22` | GrĂŒntee | | ![#FF6347](https://via.placeholder.com/20/FF6347/000000?text=+) `#FF6347` | Akzentfarbe | | ![#28a745](https://via.placeholder.com/20/28a745/000000?text=+) `#28a745` | Erfolg (GrĂŒn) | ### Responsive Design - ✅ Desktop (ab 1200px) - ✅ Tablet (768px - 1199px) - ✅ Mobile (unter 768px) - ✅ Kleine GerĂ€te (unter 480px) --- ## 💡 Tipps & Tricks ### Daten sichern (Backup) **Option 1: Automatisch (Dateisystem)** - Die Daten werden automatisch im `data/`-Verzeichnis gespeichert - Einfach das gesamte `data/`-Verzeichnis kopieren **Option 2: Manuell (Export)** 1. Gehe zu **Einstellungen → Datenverwaltung** 2. Klicke auf **đŸ“€ Daten exportieren** 3. Speichere die JSON-Datei an einem sicheren Ort ### Daten wiederherstellen (Restore) **Option 1: Automatisch (Dateisystem)** - Kopiere die gesicherten Dateien zurĂŒck in das `data/`-Verzeichnis - Starte die App neu **Option 2: Manuell (Import)** 1. Gehe zu **Einstellungen → Datenverwaltung** 2. Klicke auf **đŸ“„ Daten importieren** 3. FĂŒge deine exportierten Daten ein oder lade die JSON-Datei hoch 4. WĂ€hle, ob du die Daten **ersetzen** oder **zusammenfĂŒhren** möchtest ### Daten zurĂŒcksetzen Falls du von vorne beginnen möchtest: 1. Gehe zu **Einstellungen → Datenverwaltung** 2. Klicke auf **đŸ—‘ïž Alle Daten löschen** 3. BestĂ€tige die Aktion **Achtung:** Dieser Vorgang kann nicht rĂŒckgĂ€ngig gemacht werden! --- ## 🔧 Problembehebung ### ❌ Dateispeicherung funktioniert nicht **Mögliche Ursachen:** - App wird direkt als Datei geöffnet (ohne lokalen Server) - Keine Schreibrechte im Verzeichnis - Browser-BeschrĂ€nkungen fĂŒr Fetch-API **Lösungen:** 1. Starte einen lokalen Server (z.B. `python -m http.server 8000`) 2. Öffne die App ĂŒber `http://localhost:8000` 3. PrĂŒfe, ob das `data/`-Verzeichnis existiert und beschreibbar ist 4. Falls nötig: Nutze die Export/Import-Funktionen fĂŒr manuelles Speichern 5. PrĂŒfe die Browser-Konsole (F12 → Console) auf Fehler ### ❌ Daten werden nicht gespeichert **Mögliche Ursachen:** - App wird direkt als Datei geöffnet (ohne lokalen Server) - Keine Schreibrechte im `data/`-Verzeichnis - Browser blockiert Fetch-Anfragen **Lösungen:** 1. Starte einen lokalen Server (z.B. `python -m http.server 8000`) 2. Öffne die App ĂŒber `http://localhost:8000` 3. PrĂŒfe die Browser-Konsole auf Fehler 4. Nutze die Export/Import-Funktionen als Alternative ### ❌ Daten sind verschwunden **Keine Sorge!** Die Daten sind an mehreren Orten gespeichert: 1. **Dateisystem** (`data/`-Verzeichnis, falls Server lĂ€uft) 2. **localStorage** (Fallback) **Lösungen:** 1. Lade die Seite neu 2. PrĂŒfe, ob das `data/`-Verzeichnis existiert 3. Gehe zu **Einstellungen → Daten exportieren** und sichere deine Daten 4. Falls nötig: Importiere deine exportierten Daten --- ## đŸ€ Mitwirken BeitrĂ€ge sind willkommen! Wenn du Ideen fĂŒr Verbesserungen hast oder Fehler findest: 1. Fork das Repository 2. Erstelle einen neuen Branch (`git checkout -b feature/amazing-feature`) 3. Commit deine Änderungen (`git commit -m 'Add amazing feature'`) 4. Push zum Branch (`git push origin feature/amazing-feature`) 5. Öffne einen Pull Request --- ## 📜 Lizenz Dieses Projekt steht unter der **MIT License** – sieh die [LICENSE](LICENSE) Datei fĂŒr Details. --- ## 🙏 Danksagung - [Chart.js](https://www.chartjs.org/) – FĂŒr die tollen Diagramme - Alle Tee-Liebhaber da draußen! â˜•đŸ” --- ## 📞 Kontakt & Support Fragen oder Feedback? Öffne einfach ein [Issue](https://github.com/trevor1969/teatracker/issues) oder einen [Pull Request](https://github.com/trevor1969/teatracker/pulls). --- ## 🎉 Changelog ### 🆕 Neueste Änderungen - **đŸ’Ÿ Lokale Dateispeicherung** – Daten werden im `data/`-Verzeichnis gespeichert (Version 4.0) - **⚙ Einstellungen-Tab** – Datenverwaltung, Export/Import, Hintergrundbild - **đŸŒ± Bio-Checkbox** – Kennzeichnung fĂŒr Bio-Tees - **📅 Zeitraum "Heute"** – Filter fĂŒr aktuelle Tagesdaten in Statistiken - **📝 Letzte 10 EintrĂ€ge** – Anzeige auf der Tracken-Seite ### 📅 Versionshistorie | Version | Datum | Änderungen | |---------|-------|-----------| | 4.0.0 | Juni 2025 | Lokale Dateispeicherung im data/-Verzeichnis, Nextcloud-Integration entfernt | | 1.2.0 | Juni 2024 | Nextcloud-Integration, Einstellungen-Tab, Bio-Checkbox, "Heute"-Filter, letzte EintrĂ€ge | | 1.1.0 | Juni 2024 | Bio-Checkbox, "Heute"-Zeitraum, letzte 10 EintrĂ€ge auf Tracken-Seite | | 1.0.0 | Juni 2024 | Erste Version mit Dashboard, Tee-Verwaltung, Tracking, Statistiken | --- **Viel Spaß beim Tee-Tracken!** đŸ”âœš *Made with ❀ and JavaScript*