Add activity push notifications and registration patches

This commit is contained in:
2026-09-15 08:31:45 +02:00
parent 7c801dfddd
commit 55174684af
38 changed files with 1096 additions and 42 deletions
+15 -1
View File
@@ -10,6 +10,20 @@ Attendance-Patches werden als Upgrade-System vergeben:
| 50 | 50 Gigs |
| 100 | 100 Gigs |
Im Profil wird nur der höchste erreichte Attendance-Patch sichtbar; der höhere ersetzt die niedrigeren Stufen. Weitere definierte Patches sind Gründer/Captn, Pit Wächter, Captns Mate, Border Breaker, Globe Banger und Alpha Tester. Zusätzlich existieren venue- und ereignisbezogene Auszeichnungen im Code.
Im Profil wird nur der höchste erreichte Attendance-Patch sichtbar; der höhere ersetzt die niedrigeren Stufen. Weitere definierte Patches sind Gründer, Admin, Captns Mate, Border Breaker und Globe Banger. Zusätzlich existieren venue- und ereignisbezogene Auszeichnungen im Code.
## Exklusive Registrierungs-Patches
| Rang | Registrierungsdatum (Europe/Berlin) | Patch |
|---:|---|---|
| 1 | bis einschließlich 31.10.2026 | Alpha Tester |
| 2 | 01.11.2026 bis einschließlich 31.12.2026 | Beta Tester |
| 3 | ab 01.01.2027 | Early Bird |
Entscheidend ist das ursprüngliche Registrierungsdatum. Alpha-Mitglieder bekommen keinen Beta- oder Early-Bird-Patch hinzu. Bereits vergebene Beta-Patches früher Mitglieder werden beim Start rückwirkend zu Alpha korrigiert. Ein Datenbankindex verhindert gleichzeitige Registrierungsstufen.
`ALPHA_TESTER_UNTIL` und `BETA_TESTER_UNTIL` konfigurieren die inklusive letzte Tagesgrenze. Early Bird beginnt am Folgetag der Beta-Grenze und hat aktuell kein Enddatum. Änderungen werden beim nächsten App-Start und bei der Profilberechnung abgeglichen. Historische zeitzonenlose `users.created_at`-Werte werden aus der PostgreSQL-Sitzungszeitzone (lokal UTC) nach Europe/Berlin umgerechnet. Eine spätere Änderung der DB-Zeitzone muss die Interpretation historischer Werte berücksichtigen. Implementierung: `app/community_badges.py`; Migration 22 ergänzt den exklusiven Index.
Alpha erhält einen goldenen Schild mit Krone und den höchsten visuellen Rang. Beta verwendet den bestehenden Patch mit silbernem Rahmen; Early Bird erhält einen bronzenen Vogel-Schild. Standardgrafiken liegen als SVG unter `app/static/images`; Admin-Uploads haben Vorrang.
Die Vergabe wird aus Konzertbesuchen und den jeweiligen Triggern berechnet. Patch-Bilder können Administratoren verwalten und liegen als Uploads. Neue Vergabelogik muss zuerst in den Definitionen und Tests nachvollziehbar ergänzt werden.