HSMos

Changelog

Die Entwicklung von HSMos seit Version 0.1.0.

1.1.1aktuell

Splitto – feste Buchungsnummern

  • Jede Splitto-Ausgabe bzw. Gutschrift erhält innerhalb der WG eine fortlaufende, unveränderliche Buchungsnummer.
  • Bestehende Buchungen einschließlich bereits gelöschter Einträge werden einmalig chronologisch nummeriert.
  • Gelöschte Buchungen behalten ihre Nummer im Papierkorb; Nummern werden nicht wiederverwendet und Lücken bleiben bewusst bestehen.
  • Die Buchungsnummer erscheint in Übersicht, Details, Bearbeiten, Papierkorb und PDF-Backup.
  • Datenbankmigration: 021_splitto_booking_numbers.sql.
1.1.0

Kalender-Abonnement per ICS

  • Jedes freigegebene WG-Mitglied kann einen persönlichen, geheimen Nur-Lese-Link für den gesamten WG-Kalender erzeugen.
  • Der Link kann als Internetkalender in Outlook und anderen iCalendar-kompatiblen Kalenderprogrammen abonniert werden.
  • Einmalige, mehrtägige und wiederkehrende HSMos-Termine werden als echte iCalendar-Einträge einschließlich Serienregeln ausgegeben.
  • Änderungen in HSMos werden beim nächsten Abruf durch die Kalender-App übernommen; die konkrete Abrufhäufigkeit bestimmt der jeweilige Kalenderdienst.
  • Kalender-Links sind personenbezogen: Beim WG-Austritt werden sie widerrufen; deaktivierte Nutzer oder deaktivierte Kalender-Module erhalten ebenfalls keinen Feed-Zugriff.
  • Der Link kann jederzeit neu erzeugt oder deaktiviert werden. Daten können über den Feed nicht zurück nach HSMos geschrieben werden.
  • Datenbankmigration: 020_calendar_feed.sql.
1.0.5

Splitto – Gutschriften und Rückerstattungen

  • Splitto akzeptiert negative Buchungsbeträge für Rückerstattungen, Pfandrückgaben und andere Gutschriften zugunsten der WG.
  • Negative Beträge werden centgenau auf die ausgewählten Personen verteilt und kehren die übliche Saldenwirkung einer Ausgabe um.
  • Übersicht, Details, Bearbeitung, Papierkorb und PDF-Backup unterscheiden Ausgabe und Gutschrift verständlich.
  • Ausgleichszahlungen bleiben weiterhin ausschließlich positiv.
  • Datenbankmigration: 019_splitto_negative_amounts.sql.
1.0.4

Automatische Bildkomprimierung

  • Neue Splitto-Belege und Notizen-Bilder werden direkt beim Upload auf maximal 1600 Pixel Kantenlänge verkleinert und als JPEG mit moderater Qualitätsstufe gespeichert.
  • Beim Neucodieren werden Bildmetadaten wie EXIF entfernt; die JPEG-Ausrichtung wird nach Möglichkeit berücksichtigt.
  • Dadurch sinken Speicherbedarf und Größe der PDF-Backups mit Notizen-Bildern deutlich.
  • Keine Datenbankmigration erforderlich; bereits vorhandene Bilder bleiben unverändert.
1.0.3

Notizen – kompakte Übersicht

  • In der Notizen-Übersicht werden nur noch die Titel der Einträge angezeigt.
  • Text, Bild, Autor, Datum sowie Bearbeiten/Löschen erscheinen erst nach Klick auf den jeweiligen Titel in einer eigenen Detailansicht.
  • Alte Links auf die frühere /wg-dashboard-Route bleiben kompatibel.
  • Keine Datenbankmigration erforderlich.
1.0.2

Splitto – rückdatieren und bearbeiten

  • Splitto-Ausgaben können mit einem frei wählbaren Eintragungsdatum erfasst und damit auch nachträglich für ältere Einkäufe eingetragen werden.
  • Die Übersicht sortiert aktive Ausgaben chronologisch absteigend nach diesem Datum; bei gleichem Datum stehen die zuletzt erfassten Einträge oben.
  • Bestehende aktive Ausgaben können hinsichtlich Beschreibung, Details, Betrag, Eintragungsdatum und Beteiligten bearbeitet werden; Splitto berechnet die Salden danach sofort neu.
  • Der ursprüngliche Zahler und vorhandene Beleg bleiben beim Bearbeiten unverändert. Historische Ausgaben mit ausgeschiedenen WG-Mitgliedern werden nicht mehr verändert, damit abgeschlossene Salden stabil bleiben.
  • Datenbankmigration: 018_splitto_expense_date_editing.sql.
1.0.1

Modul-Dock auf dem Homescreen

  • Die aktiven WG-Module sind auf dem Dashboard dauerhaft in einer kompakten zweizeiligen Box am unteren Bildschirmrand erreichbar.
  • Die Modulnavigation sitzt oberhalb der Hauptnavigation und bleibt auch bei langen Aufgaben-, ToDo- oder Kalenderlisten sichtbar.
  • Die bisherige große Modul-Kachelsektion am Ende des Dashboards entfällt.
  • Keine Datenbankmigration erforderlich.
1.0

Erster stabiler Release

  • HSMos erreicht mit dem bisherigen Funktionsstand den ersten stabilen Release.
  • Enthalten sind unter anderem Einkaufsliste, Splitto, Aufgaben, ToDo, Kalender, Notizen, WG-Verwaltung, Einladungen, manuelle PDF-Backups und PWA-Unterstützung.
  • Der Funktionsstand entspricht 0.13.3; für das Versionsupdate ist keine Datenbankmigration erforderlich.
0.13.3

Notizen-Route

  • Das Modul „Notizen“ ist jetzt unter /notizen erreichbar.
  • Alte Links auf /wg-dashboard werden zur neuen Route weitergeleitet.
  • Keine Datenbankmigration erforderlich.
0.13.2

Notizen & farbige Home-Hinweise

  • Das bisherige Modul „Dashboard“ heißt ab jetzt „Notizen“; „Dashboard“ bzw. „Homescreen“ bezeichnet künftig die HSMos-Startseite.
  • Fällige Aufgaben bleiben auf dem Dashboard rot, ToDos werden grün und Kalendereinträge blau dargestellt.
  • Keine Datenbankmigration erforderlich.
0.13.1

ToDo-Erinnerungen & Splitto-Details

  • Offene ToDos mit Frist innerhalb der nächsten 48 Stunden sowie überfällige ToDos erscheinen WG-weit auf der Startseite; die zuständige Person ist direkt sichtbar.
  • Splitto-Ausgaben können optional eine ausführliche Notiz mit bis zu 10.000 Zeichen erhalten.
  • Die Splitto-Notiz bleibt in der kompakten Ausgabenübersicht verborgen und erscheint erst nach Klick auf „Details“.
  • Splitto-Notizen werden auch in manuellen PDF-Backups übernommen.
  • Datenbankmigration: 017_splitto_details.sql.
0.13.0

Kalender-Serien & 48-Stunden-Erinnerungen

  • Kalendereinträge der nächsten 48 Stunden erscheinen auf der HSMos-Startseite; laufende mehrtägige Einträge werden ebenfalls berücksichtigt.
  • Kalendereinträge können als tägliche, wöchentliche, monatliche oder jährliche Serie angelegt werden.
  • Serien unterstützen frei wählbare Intervalle, mehrere Wochentage, monatlich gleichen Kalendertag oder gleichen Wochentag im Monat sowie ein Ende nach Datum oder Anzahl von Terminen.
  • Serientermine werden dynamisch erzeugt und belegen nicht für jede Wiederholung eine eigene Datenbankzeile; beim Löschen wird derzeit bewusst die gesamte Serie gelöscht.
  • Datenbankmigration: 016_calendar_recurrence.sql.
0.12.2

Backup-Aufbewahrung begrenzt

  • Pro WG werden nur noch die drei zuletzt erzeugten Wochenbackups aufbewahrt und unter Account angezeigt.
  • Beim Erstellen eines neuen Backups werden ältere Datenbankeinträge und nicht mehr benötigte PDF-Dateien automatisch entfernt.
  • Das Backup der aktuellen Kalenderwoche wird weiterhin aktualisiert statt doppelt angelegt.
  • Keine Datenbankmigration erforderlich.
0.12.1

Backup-PDF aufgeräumt

  • Splitto-Belegbilder werden nicht mehr in PDF-Backups aufgenommen oder als PDF-Anhang eingebettet.
  • Erledigte ToDos und gelöschte Splitto-Einträge werden nicht mehr exportiert; Aufgaben bleiben weiterhin vollständig außerhalb des Backups.
  • Die PDF-Darstellung wurde mit klareren Abschnittsflächen, einem kompakten Kopfbereich und deutlich hervorgehobenen Splitto-Salden strukturiert.
  • Keine Datenbankmigration erforderlich.
0.12.0

Einladungen, Dashboard & Darstellung

  • Dashboard-Beiträge können nachträglich bearbeitet; vorhandene Bilder entfernt oder ersetzt werden.
  • Die Startseite zeigt überfällige und in den nächsten 48 Stunden fällige WG-Aufgaben auffällig rot inklusive zuständiger Person.
  • Jede Person kann zwischen Systemeinstellung, hellem und dunklem Design wählen.
  • WG-Owner können sichere, zeitlich begrenzte Einladungen per E-Mail versenden; über diesen Link beigetretene Personen benötigen keine zusätzliche Freigabe.
  • Die Adminübersicht zeigt WG-Zugehörigkeit, WG-Rolle und bei Einladungsbeitritten die einladende Person.
  • Die Bottom-Navigation wurde auf Home, Einstellungen und – für Admins – Benutzer reduziert.
  • Spendenbutton im Footer verlinkt auf PayPal @sebokiel.
  • Zusätzliche Austrittssicherheit: WG-Owner und Mitglieder mit offenem Splitto-Saldo können nicht versehentlich deaktiviert werden; die Daten einer leer gewordenen WG werden nicht automatisch kaskadiert gelöscht.
  • Datenbankmigration: 015_hsmos_012.sql.
0.11.0

ToDo

  • Neues gemeinsames WG-Modul für ToDos mit Titel und ausführlicher Freitextbeschreibung.
  • ToDos können optional einem aktiven WG-Mitglied zugewiesen und mit einer Frist versehen werden.
  • Offene ToDos lassen sich nach Neueste, Frist, A–Z oder zuständiger Person sortieren.
  • Details zeigen Beschreibung, Zuständigkeit, Frist, Autor sowie Bearbeitungs- und Erledigungszeitpunkte; Einträge können nachträglich bearbeitet werden.
  • Erledigte ToDos werden getrennt unterhalb der offenen Liste angezeigt und nach 24 Stunden in das Archiv verschoben.
  • Verlässt eine zugewiesene Person die WG oder wird deaktiviert, wird das offene ToDo automatisch wieder „Nicht zugewiesen“ statt hängen zu bleiben.
0.10.1

Backups – manuell und Splitto-fokussiert

  • Automatische bzw. Cron-basierte Backups entfernt; Backups werden nur noch bewusst manuell durch den WG-Owner erzeugt.
  • Aufgabendaten werden nicht mehr in das PDF exportiert.
  • Aktuelle Splitto-Salden stehen prominent am Anfang des PDF und weisen je Person Guthaben, Schuld oder ausgeglichenen Stand aus.
  • Splitto-Buchungen, Aufteilungen, Ausgleichszahlungen und Belegbilder bleiben weiterhin Bestandteil des Backups.
0.10.0

PDF-Backups

  • Wöchentliche PDF-Sicherung aller WG-Daten; vorhandene Beleg-/Dashboard-Bilder werden sichtbar eingebunden, soweit möglich, und zusätzlich im Original als PDF-Dateianhang mitgesichert.
  • Dateiname nach ISO-Kalenderwoche: Jahr_KW_NameDerWG.pdf; Ablage physisch unter public/Backup.
  • Manuelles tagesaktuelles Backup für den WG-Owner direkt unter Account; das Wochenbackup der aktuellen KW wird dabei aktualisiert.
  • Backup-Dateien sind im Webverzeichnis gegen direkten öffentlichen Zugriff geschützt und werden nur nach Login und WG-Prüfung ausgeliefert.
  • CLI-Skript bin/weekly_backup.php für den wöchentlichen Cronjob.
0.9.3

Aufgaben – Bearbeiten und Archivieren

  • Name und Häufigkeit bestehender Aufgaben können unter „Einrichten“ nachträglich geändert werden.
  • Aufgaben lassen sich archivieren und später wiederherstellen, ohne ihre Erledigungshistorie zu verlieren.
  • „Löschen“ entfernt eine Aufgabe aus der Verwaltung als Soft-Delete; historische Erledigungen bleiben erhalten.
  • Die Historie speichert künftig den Aufgabennamen zum Zeitpunkt der Erledigung, damit spätere Umbenennungen alte Historieneinträge nicht umschreiben.
0.9.2

Splitto – Ausstände direkt begleichen

  • Im Block „Schulden begleichen“ gibt es pro eigener offener Zahlung einen direkten Button „Vollständig begleichen“.
  • Splitto ermittelt den Betrag beim Klick erneut serverseitig und erfasst ihn vollständig als Ausgleichszahlung.
  • Nach dem Speichern verschwinden beglichene Ausstände aus dem persönlichen Ausgleichsplan; Teilzahlungen bleiben weiterhin separat möglich.
0.9.1

Splitto – sicherer WG-Austritt

  • WG-Austritt ist nur noch möglich, wenn der persönliche Splitto-Saldo exakt 0,00 € beträgt.
  • Offene Schulden ebenso wie noch bestehende Forderungen blockieren den Austritt, bis Splitto vollständig ausgeglichen ist.
  • Die Accountverwaltung zeigt den offenen Betrag bereits vor dem Austrittsversuch an; historische Splitto-Einträge bleiben nach dem Austritt erhalten.
0.9.0

Kalender

  • Gemeinsamer WG-Kalender für Termine, Abwesenheiten, Partys, Geburtstage und sonstige Einträge.
  • Datum oder Zeitraum, optionale Uhrzeiten und optionale Beschreibung.
  • Monatsweise Ansicht mit Vor-/Zurück-Navigation; alle freigegebenen WG-Mitglieder sehen dieselben Einträge.
  • Kalendereinträge können WG-gebunden gelöscht werden; der bisher als letztes Modul gewünschte Dashboard-Eintrag bleibt in der Modulreihenfolge weiterhin hinten.
0.8.0

Footer und Infoseiten

  • Footer-Navigation mit Impressum, Datenschutz, Changelog und PWA-Installationshilfe.
  • Impressum und Datenschutzhinweise auf HSMos angepasst und an den bereits verwendeten IGMAZ-Angaben orientiert.
  • Vollständiger Changelog der bisherigen HSMos-Versionen.
0.7.2

WG-Ownership übertragen

  • WG-Owner kann das Ownership an ein anderes aktives, freigegebenes Mitglied übertragen.
  • Neuer Owner übernimmt Beitrittsfreigaben und WG-weite Modulverwaltung; alter Owner bleibt normales Mitglied.
  • Aufgabenrotation bleibt bei einem Ownerwechsel stabil und richtet sich nach dem Beitrittszeitpunkt.
0.7.1

Startseite und Abmelden

  • Konto-Kachel von der Startseite entfernt.
  • Abmelden in die obere Kopfzeile verschoben; Benutzername verlinkt zum Account.
0.7.0

WG-weite Modulverwaltung

  • WG-Owner kann Module für die gesamte WG aktivieren oder deaktivieren.
  • Deaktivierte Module verschwinden aus Navigation und Übersicht und sind auch per Direkt-URL gesperrt.
  • Daten, Fotos und Historien deaktivierter Module bleiben vollständig erhalten.
0.6.3

Dashboard – Name

  • Sichtbarer Modulname von „WG Dashboard“ auf „Dashboard“ verkürzt.
  • Interne Route und Datenstruktur bleiben unverändert.
0.6.2

Dashboard – Modulreihenfolge

  • Dashboard als letztes Modul in die Modulübersicht einsortiert.
0.6.1

Dashboard – Logo-Fix

  • Doppelte Wortmarke auf der Startseite entfernt.
  • Dashboard-Katzenlogo auf Mobile und Desktop sauber begrenzt.
0.6.0

Dashboard

  • Einfaches WG-Board mit Titel, Text, Autor und Datum.
  • Optionales Bild mit Kamera- oder Dateiauswahl.
  • Chronologische Anzeige, neueste Beiträge zuerst, sowie Löschen mit Bestätigung.
  • Bilder werden privat und WG-gebunden ausgeliefert.
0.5.2

Aufgaben – Urlaubsmenü

  • Urlaubsmodus optisch zurückhaltend an das Ende der Aufgaben-Seite verschoben.
0.5.1

Aufgaben – Urlaubsmodus

  • Jedes WG-Mitglied kann „Urlaub bis …“ setzen oder „Aus dem Urlaub zurück“ wählen.
  • Urlaubende Personen werden bei neuen Zuweisungen übersprungen.
  • Bereits zugewiesene Aufgaben bleiben erhalten und können weiterhin erledigt werden.
0.5.0

Aufgaben

  • Wiederkehrende WG-Aufgaben mit wöchentlichem, 14-tägigem, monatlichem, halbjährlichem oder jährlichem Rhythmus.
  • Zufällige Erstzuweisung, danach feste Rotation durch die WG-Mitglieder.
  • Überfällige Aufgaben werden rot markiert.
  • Vorherige Zuständigkeit, letzte Erledigung und Historie bleiben sichtbar.
0.4.2

Splitto – Papierkorb

  • Ausgaben können nachträglich als Soft-Delete gelöscht werden.
  • Gelöschte Ausgaben werden sofort aus Salden und Ausgleichsplänen herausgerechnet.
  • Papierkorb zeigt Eintrag, Aufteilung, Beleg, Löschzeitpunkt und löschende Person.
0.4.1

Splitto – Kamera

  • Direktes Fotografieren eines Belegs auf unterstützten Smartphones.
  • Alternative Auswahl eines vorhandenen Fotos; weiterhin Desktop-, Android- und iPhone-kompatibel.
0.4.0

Splitto

  • WG-Ausgaben mit standardmäßig gleicher Aufteilung auf alle Mitglieder.
  • Einzelne Personen können pro Ausgabe abgewählt werden.
  • Optionaler Beleg als Bild.
  • Salden werden gegeneinander verrechnet und auf möglichst wenige Ausgleichszahlungen reduziert.
  • Ausgleichszahlungen können direkt als „Schulden begleichen“ erfasst werden.
0.3.1

Einkaufsliste – Gruppierung

  • Offene Einkäufe stehen immer oben; nur sie können nach Neueste oder A–Z sortiert werden.
  • Erledigte Einkäufe stehen in einem eigenen Block darunter und werden nach Erledigungszeitpunkt sortiert.
0.3.0

Einkaufsliste

  • Gemeinsame WG-Einkaufsliste mit Checkbox zum Erledigen.
  • Erledigte Einträge werden durchgestrichen und nach 24 Stunden im Archiv angezeigt.
  • Details zeigen Autor und Zeitpunkte; offene Artikel lassen sich nach Eintragungszeitpunkt oder alphabetisch sortieren.
0.2.1

WG-Beitrittsfreigaben

  • Beitritt zu bestehender WG erzeugt zunächst nur eine Anfrage.
  • Nur der WG-Owner kann Anfragen freigeben oder ablehnen.
  • Offene Anfragen erhalten keinerlei Zugriff auf WG-Daten.
0.2.0

Wohngemeinschaften

  • Benutzer können WGs erstellen oder ihnen beitreten.
  • Module und Inhalte werden serverseitig nach WG getrennt.
  • Accountverwaltung zeigt WG-Zugehörigkeit und Mitglieder.
0.1.3

Desktop-Branding-Fix

  • Desktop-Positionierung von Logo und Wortmarke korrigiert.
  • Asset-Versionierung verbessert, damit alte PWA-Caches nicht das neue Layout überlagern.
0.1.2

Branding

  • Transparentes Katzenemblem eingeführt.
  • Bild und Wortmarke getrennt: Katze als Grafik, Text weiterhin in HTML/CSS.
  • Favicon, Apple-Touch-Icon und PWA-App-Icons ergänzt.
0.1.1

Katzenlogo

  • Erstes HSMos-Katzenbranding in Header, Login, Setup, Dashboard und PWA integriert.
0.1.0

Grundsystem

  • PHP/MySQL-Basis mit mobile-first Dashboard und modularer Architektur.
  • Benutzerverwaltung, Login/Logout, Rollen und 180-Tage-Remember-Login.
  • Geräte-/Tokenverwaltung, CSRF-Schutz, Login-Rate-Limiting und sichere Sessions.
  • PWA-Manifest, Service Worker und Offline-Grundseite.