first commit
This commit is contained in:
@@ -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.
|
||||
Reference in New Issue
Block a user