main
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 - KI-Wochen- und Monatszusammenfassungen im Archiv mit verschlüsselter dateibasierter Ablage
- 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-Einstiegsrc/: PHP-Logik für Auth, Storage, Scoring und Renderingtemplates/: Seiten-Templatesassets/: CSS und JavaScriptstorage/: geschützter Dateispeicher, per.htaccessnicht direkt abrufbar
Deployment auf Cloudron / LAMP
- Den Projektordner in die App deployen und Apache auf dieses Verzeichnis zeigen lassen.
AllowOverride Allaktiv lassen, damit.htaccessgreift.- Sicherstellen, dass der Webserver Schreibrechte auf
storage/hat. - Die Seite das erste Mal aufrufen und unter
/setupden ersten Admin-Account erstellen. - Danach ist die Anwendung nur noch nach Login nutzbar.
Hinweise
- Die Inhalte liegen absichtlich nicht in einer Datenbank, sondern in menschenlesbaren TXT-Dateien.
- Tagesdateien und KI-Zusammenfassungen werden serverseitig verschlüsselt gespeichert und im Backup wieder als lesbare TXT-Dateien exportiert.
- 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.
KI-Zusammenfassungen
- Für KI-Zusammenfassungen im Archiv wird ein OpenAI-Modell aus der Mini-Klasse verwendet.
- Der API-Key kommt aus der Server-Umgebung, das Modell und der Timeout können zusätzlich zentral durch einen Admin in den Optionen angepasst werden.
- Wochenzusammenfassungen werden als
storage/users/<user>/summaries/weekly/YYYY-KW-XX.txtgespeichert. - Monatszusammenfassungen werden als
storage/users/<user>/summaries/monthly/YYYY-MM.txtgespeichert. - Der Backup-Export nimmt diese Dateien automatisch mit und legt sie im ZIP unter
summaries/weekly/undsummaries/monthly/ab.
Benötigte Umgebungsvariablen
OPENAI_API_KEY(erforderlich)OPENAI_MODEL(optional, Standard:gpt-4o-mini)OPENAI_TIMEOUT(optional, Standard:25)
Lizenz
- Dieses Projekt steht unter der
PolyForm Noncommercial License 1.0.0. - Nicht-kommerzielle Nutzung ist erlaubt.
- Kommerzielle Nutzung ist ohne separate schriftliche Freigabe nicht erlaubt.
- Details siehe LICENSE.
Description
Releases
7
Version 1.3.0
Latest
Languages
PHP
71.4%
JavaScript
15%
CSS
13.5%