first commit

This commit is contained in:
2026-04-11 18:57:00 +02:00
commit 58bcc8f0f3
29 changed files with 3290 additions and 0 deletions
+34
View File
@@ -0,0 +1,34 @@
# Mood
Dateibasierter Stimmungstracker fuer LAMP/Cloudron ohne Datenbank.
## Features
- Geschuetzter Login mit Session, `password_hash`, CSRF-Schutz und Security-Headern
- Vier Bereiche: Dashboard, Tracking, Optionen, Archiv
- Speicherung aller Tage als Markdown in `storage/users/<user>/days/YYYY-MM-DD.txt`
- Pro Nutzer eigene Einstellungen fuer die Bewertungslogik
- Admin kann weitere Accounts direkt in der Weboberflaeche anlegen
- Moderner, responsiver Liquid-Glass-Look mit lokalen Assets und ohne externe CDNs
## Struktur
- `index.php`: Front-Controller und Routing-Einstieg
- `src/`: PHP-Logik fuer Auth, Storage, Scoring und Rendering
- `templates/`: Seiten-Templates
- `assets/`: CSS und JavaScript
- `storage/`: geschuetzter Dateispeicher, per `.htaccess` nicht direkt abrufbar
## Deployment auf Cloudron / LAMP
1. Den Projektordner in die App deployen und Apache auf dieses Verzeichnis zeigen lassen.
2. `AllowOverride All` aktiv lassen, damit `.htaccess` greift.
3. Sicherstellen, dass der Webserver Schreibrechte auf `storage/` hat.
4. Die Seite das erste Mal aufrufen und unter `/setup` den ersten Admin-Account erstellen.
5. Danach ist die Anwendung nur noch nach Login nutzbar.
## Hinweise
- Die Inhalte liegen absichtlich nicht in einer Datenbank, sondern in menschenlesbaren TXT-Dateien.
- Mehrere Accounts sind moeglich und verursachen hier wenig Overhead, weil jeder Nutzer nur einen eigenen Unterordner mit Tagen und Einstellungen bekommt.
- Wenn du spaeter Reverse Proxy oder HTTPS ueber Cloudron nutzt, bleiben die Daten weiterhin nur ueber die App erreichbar.