35 lines
1.6 KiB
Markdown
35 lines
1.6 KiB
Markdown
# Mood
|
|
|
|
Dateibasierter Stimmungstracker für LAMP/Cloudron ohne Datenbank.
|
|
|
|
## Features
|
|
|
|
- Geschützter 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 für die Bewertungslogik
|
|
- Admin kann weitere Accounts direkt in der Weboberfläche anlegen
|
|
- Moderner, responsiver Liquid-Glass-Look mit lokalen Assets und ohne externe CDNs
|
|
|
|
## Struktur
|
|
|
|
- `index.php`: Front-Controller und Routing-Einstieg
|
|
- `src/`: PHP-Logik für Auth, Storage, Scoring und Rendering
|
|
- `templates/`: Seiten-Templates
|
|
- `assets/`: CSS und JavaScript
|
|
- `storage/`: geschützter 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 möglich und verursachen hier wenig Overhead, weil jeder Nutzer nur einen eigenen Unterordner mit Tagen und Einstellungen bekommt.
|
|
- Wenn du später Reverse Proxy oder HTTPS über Cloudron nutzt, bleiben die Daten weiterhin nur über die App erreichbar.
|