2026-02-19T20:54:53Z - 2026-05-19T20:54:53Z
Overview
122 issues closed from 1 user
Closed
#128 infra(forgejo): Projektlinks, Skills und Referenzen auf Forgejo umstellen
Closed
#126 infra(forgejo): Forgejo-Server auf VPS einrichten (git.bollwerk.online)
Closed
#130 feat(admin): Ressourcen-UI mit Paging, Suche, Sortierung, Filter & Gruppierung
Closed
#129 fix(resources): ePub/PDF-Dateien können nicht von externen Apps geöffnet werden
Closed
#125 feat(auth): Logout fragt nach Löschen lokaler Daten
Closed
#123 feat(app): Ressource herunterladen + 'Öffnen mit'-Dialog
Closed
#122 feat(app): ResourceListScreen + Navigation (BottomBar-Tab)
Closed
#121 feat(app): ResourceEntity + Dao + Repository + DB-Migration 8→9
Closed
#107 Genome Engine: Automatische Erkennung und Propagation von Copilot-Customization-Verbesserungen
Closed
#120 feat(server): REST-API für Ressourcen (CRUD + Download)
Closed
#119 feat(server): Resources-Tabelle (Postgres) + Datei-Storage
Closed
#118 feat(shared): ResourceDto im Shared-Modul
Closed
#117 plan(ressourcen): Ressourcen-Verteilsystem - Planung + Arbeitspakete
Closed
#115 fix(item-form): kcal-Label dynamisch wie Preis-Label (abhängig von #114)
Closed
#114 feat(item-form): Einheit als Dropdown mit Vordefiniert-Liste + Custom-Option
Closed
#113 feat(chat): Nachrichten-Paginierung – initial 200, automatisches Laden beim Scroll ans obere Ende
Closed
#112 fix(chat): Nachrichtentext von bodyMedium (14sp) auf bodyLarge (16sp) vergrößern
Closed
#111 fix(notifications): FG-Service-Notification und Nachrichten-Notification zu einer einzigen zusammenfassen
Closed
#110 Nachrichten: Ungelesene Anzahl als rote Badges anzeigen
Closed
#109 Chat: Entschlüsselung fehlgeschlagen bei empfangenen Nachrichten
Closed
#108 Settings: Server-Sync Bereich UI aufräumen
Closed
#106 Home: Kategorie-Tap navigiert ins Inventar mit Kategoriefilter
Closed
#105 Security: E2EE Private Key – AndroidKeysetManager statt CleartextKeysetHandle
Closed
#104 Messaging: Push-Benachrichtigungen für eingehende Nachrichten (inkl. Ton + Deep-Link in Chat)
Closed
#103 Messaging: Nachrichtenspeicher pro User auf 10 MB begrenzen (FIFO-Eviction + Server-Hinweis)
Closed
#102 Messaging: Emoji-Button entfernen
Closed
#100 Publish: APK-Deploy ohne Server-Neustart (Version-Notify-Endpoint)
Closed
#97 Security: WebSocket Auth-Token aus Query-Parameter in Header verschieben
Closed
#96 Messaging: Ende-zu-Ende-Verschlüsselung (E2EE)
Closed
#101 Infrastructure: Mailserver auf VPS einrichten (Maddy + Snappymail)
Closed
#98 Server-Side Encryption at Rest (PostgreSQL pgcrypto / TDE)
Closed
#99 Migration-Safety: Datenverlust bei App- und Server-Updates verhindern
Closed
#95 HTTPS: Caddy Reverse Proxy + Domain-Umstellung bollwerk.online
Closed
#93 Logo überarbeiten: Ratte komplett sichtbar, weniger comichaft, Patronengurt & Plättchenpanzer
Closed
#92 Styling: App-UI an Admin-Bereich angleichen
Closed
#91 Styling: Download-Homepage an Admin-Bereich angleichen
Closed
#94 Sync-Statusanzeige: Live-Verbindungsstatus, Aktivitaets-Feed & Robustheit
Closed
#90 Admin-UI: Hauptnavigation mit Tabs (User / Inventare / Backups)
Closed
#88 Server Admin UI: Postapokalyptisches Rost/Stahl/Beton-Theme
Closed
#89 DB-Migration: fallbackToDestructiveMigration() entfernen & Migrationsstrategie einführen
Closed
#87 Infrastruktur: Tägliches PostgreSQL-Backup mit 1 GB Rotation
Closed
#86 Admin: Statistiken pro Inventar & Inventar-Liste mit Paging/Sortierung/Filter/Suche
Closed
#85 Self-Update App: Update-Dialog, Installation & App-Start-Integration
Closed
#84 Self-Update App: Update-Check & APK-Download (Data/Domain-Layer)
Closed
#83 Self-Update Server: Version-Endpoint, APK-Hosting & Homepage mit QR-Code
Closed
#82 Refactoring: Settings Type-Safety und Validierung
Closed
#81 Feature: Export als CSV und PDF
Closed
#80 Qualitaet: Server-Integrationstests
Closed
#79 Feature: Multi-Inventar auf Client-Seite
Closed
#76 UX: Suche und Filter auf Item-Liste
Closed
#75 Sicherheit: Rate-Limiting auf Server-API
Closed
#74 Skalierung: Full-Inventory-Sync durch Delta-Sync ersetzen
Closed
#73 Robustheit: WebSocket-Reconnect-Strategie pruefen
Closed
#72 Sicherheit: JWT-Token-Storage ungeschuetzt
Closed
#71 Room: fallbackToDestructiveMigration entfernen
Closed
#70 Server: H2 durch PostgreSQL ersetzen
Closed
#69 Self-Update: App prüft neue Version und installiert APK selbst
Closed
#68 Server UI: Inventarübersicht erweitern (Statistiken & Aktivität)
Closed
#56 KI: Inventar-Vervollständigung via Copilot Chat + REST Edit-Endpoint
Closed
#66 Chat: UTF-8-Unterstuetzung fuer Umlaute und Emoji-Eingabe
Closed
#67 Security: Server-seitige Input-Validierung & Body-Size-Limit
Closed
#62 Inventar Sync Generaltest: Bob-Szenario mit 10 Items, PATCH & WebSocket-Push
Closed
#59 Server: Inventar zwischen Usern teilen (Inventory Sharing)
Closed
#60 Integration Test Suite: Kommunikation, Sync & Messaging automatisiert testen
Closed
#58 Messaging: Chat-System mit Offline-First und Server-Push
Closed
#57 User-Konzept: Auth, Sync, WebSocket-Push & Admin-UI
Closed
#61 User-Konzept (Teil 2): Offline-Queue, Sofort-Sync & Last-Write-Wins
Closed
#54 DB-Seeding: Default-Werte beim ersten App-Start (Keller + Standardkategorien)
Closed
#53 DB-Seeding: Default-Werte beim ersten App-Start (Keller + Standardkategorien)
Closed
#50 Deployment: Krisenvorrat-Server auf Hetzner VPS
Closed
#48 KI-Kameraerkennung: Inventar-Erfassung per Foto
Closed
#49 DB-Migration: Datenverlust bei App-Updates verhindern
Closed
#52 Ablaufdatum: Monat/Jahr-Picker statt Tages-Datepicker
Closed
#51 Kategorie- und Lagerortverwaltung: Anlegen/Umbenennen/Löschen + Lagerort vorausfüllen
Closed
#55 DB-Seeding: Default-Werte beim ersten App-Start (Keller + Standardkategorien)
Closed
#47 Kalorienverbrauch: Kinder-Altersgruppen unterstützen
Closed
#14 GitHub Actions CI/CD einrichten (Build + Tests + APK-Artifact)
Closed
#23 [TEST] Robustheitstest set-board-status
Closed
#12 Android-Projekt-Gerüst anlegen (Kotlin, Compose, Hilt, Room)
Closed
#46 Integration: LAN Dev-Server & End-to-End Sync-Test
Closed
#45 App: Sync-UI & Einstellungen
Closed
#44 App: Ktor-Client & Sync-Repository
Closed
#43 Ktor Server: Authentifizierung (API-Key)
Closed
#42 Ktor Server: REST-API Endpoints (Sync & CRUD)
Closed
#41 Ktor Server: Datenbank-Schicht (Exposed ORM)
Closed
#40 Ktor Server: Projekt-Setup & Konfiguration
Closed
#39 Shared-Modul: Gemeinsame Datenmodelle
Closed
#11 Block 7: REST-Server & Sync (Phase 2)
Closed
#10 Server-Technologie wählen (Phase 2)
Closed
#38 JSON-Import mit File Picker (SAF)
Closed
#37 JSON/Markdown-Export via Share Intent (ViewModel + UI)
Closed
#36 Markdown-Export: Repository-Methode implementieren
Closed
#9 Block 6: Import/Export (Share Intent)
Closed
#35 Einstellungen-Screen (ViewModel + UI + Persistenz)
Closed
#34 Warnungen-Screen (eigenstaendiger Tab)
Closed
#33 Bottom Navigation Bar und App-Shell
Closed
#32 Material 3 Custom Theme (DunkelGruen/Anthrazit)
Closed
#8 Block 5: UI & Navigation
Closed
#31 Dashboard Navigation & Integration
Closed
#30 Dashboard ViewModel & UI (Uebersicht, Warnungen, Reichweite)
Closed
#29 Dashboard-Berechnungslogik (Use Cases & Tests)
Closed
#7 Block 4: Übersichten & Analyse
Closed
#28 Inventar-CRUD Navigation & Integration
Closed
#27 Artikel anlegen & bearbeiten (ViewModel + UI)
Closed
#26 Artikel-Liste mit Löschfunktion (ViewModel + UI)
Closed
#25 Kategorien & Lagerorte verwalten (ViewModel + UI)
Closed
#6 Block 3: Inventarverwaltung (CRUD)
Closed
#22 Unit-Tests: Room in-memory & JSON-Roundtrip
Closed
#21 JSON-Export & Import (Roundtrip-Serialisierung)
Closed
#20 Repository-Schicht (Category, Location, Item, Settings)
Closed
#19 Hilt DatabaseModule (DI-Setup für Room)
Closed
#18 Room-Datenbank & DAOs
Closed
#17 Room-Entities & TypeConverter
Closed
#24 [TEST] Robustheitstest set-board-status
Closed
#5 Block 2: Datenmodell & Persistenz
Closed
#15 GitHub Actions CI/CD einrichten (Build + Tests + APK-Artifact)
Closed
#16 Deploy-Skripte und Skills gehärtet
Closed
#13 Android-Projekt-Geruest anlegen (Kotlin, Compose, Hilt, Room)
Closed
#4 Block 1: Infrastruktur & Dev-Setup
Closed
#3 UI/Design-Entscheidungen
Closed
#2 Datenmodell finalisieren
Closed
#1 Grobplanung: Krisenvorrat Inventar-App in Arbeitsblöcke zerlegen
134 issues created by 1 user
Opened
#1 Grobplanung: Krisenvorrat Inventar-App in Arbeitsblöcke zerlegen
Opened
#2 Datenmodell finalisieren
Opened
#3 UI/Design-Entscheidungen
Opened
#4 Block 1: Infrastruktur & Dev-Setup
Opened
#5 Block 2: Datenmodell & Persistenz
Opened
#6 Block 3: Inventarverwaltung (CRUD)
Opened
#7 Block 4: Übersichten & Analyse
Opened
#8 Block 5: UI & Navigation
Opened
#9 Block 6: Import/Export (Share Intent)
Opened
#10 Server-Technologie wählen (Phase 2)
Opened
#11 Block 7: REST-Server & Sync (Phase 2)
Opened
#12 Android-Projekt-Gerüst anlegen (Kotlin, Compose, Hilt, Room)
Opened
#13 Android-Projekt-Geruest anlegen (Kotlin, Compose, Hilt, Room)
Opened
#14 GitHub Actions CI/CD einrichten (Build + Tests + APK-Artifact)
Opened
#15 GitHub Actions CI/CD einrichten (Build + Tests + APK-Artifact)
Opened
#16 Deploy-Skripte und Skills gehärtet
Opened
#17 Room-Entities & TypeConverter
Opened
#18 Room-Datenbank & DAOs
Opened
#19 Hilt DatabaseModule (DI-Setup für Room)
Opened
#20 Repository-Schicht (Category, Location, Item, Settings)
Opened
#21 JSON-Export & Import (Roundtrip-Serialisierung)
Opened
#22 Unit-Tests: Room in-memory & JSON-Roundtrip
Opened
#23 [TEST] Robustheitstest set-board-status
Opened
#24 [TEST] Robustheitstest set-board-status
Opened
#25 Kategorien & Lagerorte verwalten (ViewModel + UI)
Opened
#26 Artikel-Liste mit Löschfunktion (ViewModel + UI)
Opened
#27 Artikel anlegen & bearbeiten (ViewModel + UI)
Opened
#28 Inventar-CRUD Navigation & Integration
Opened
#29 Dashboard-Berechnungslogik (Use Cases & Tests)
Opened
#30 Dashboard ViewModel & UI (Uebersicht, Warnungen, Reichweite)
Opened
#31 Dashboard Navigation & Integration
Opened
#32 Material 3 Custom Theme (DunkelGruen/Anthrazit)
Opened
#33 Bottom Navigation Bar und App-Shell
Opened
#34 Warnungen-Screen (eigenstaendiger Tab)
Opened
#35 Einstellungen-Screen (ViewModel + UI + Persistenz)
Opened
#36 Markdown-Export: Repository-Methode implementieren
Opened
#37 JSON/Markdown-Export via Share Intent (ViewModel + UI)
Opened
#38 JSON-Import mit File Picker (SAF)
Opened
#39 Shared-Modul: Gemeinsame Datenmodelle
Opened
#40 Ktor Server: Projekt-Setup & Konfiguration
Opened
#41 Ktor Server: Datenbank-Schicht (Exposed ORM)
Opened
#42 Ktor Server: REST-API Endpoints (Sync & CRUD)
Opened
#43 Ktor Server: Authentifizierung (API-Key)
Opened
#44 App: Ktor-Client & Sync-Repository
Opened
#45 App: Sync-UI & Einstellungen
Opened
#46 Integration: LAN Dev-Server & End-to-End Sync-Test
Opened
#47 Kalorienverbrauch: Kinder-Altersgruppen unterstützen
Opened
#48 KI-Kameraerkennung: Inventar-Erfassung per Foto
Opened
#49 DB-Migration: Datenverlust bei App-Updates verhindern
Opened
#50 Deployment: Krisenvorrat-Server auf Hetzner VPS
Opened
#51 Kategorie- und Lagerortverwaltung: Anlegen/Umbenennen/Löschen + Lagerort vorausfüllen
Opened
#52 Ablaufdatum: Monat/Jahr-Picker statt Tages-Datepicker
Opened
#53 DB-Seeding: Default-Werte beim ersten App-Start (Keller + Standardkategorien)
Opened
#54 DB-Seeding: Default-Werte beim ersten App-Start (Keller + Standardkategorien)
Opened
#55 DB-Seeding: Default-Werte beim ersten App-Start (Keller + Standardkategorien)
Opened
#56 KI: Inventar-Vervollständigung via Copilot Chat + REST Edit-Endpoint
Opened
#57 User-Konzept: Auth, Sync, WebSocket-Push & Admin-UI
Opened
#58 Messaging: Chat-System mit Offline-First und Server-Push
Opened
#59 Server: Inventar zwischen Usern teilen (Inventory Sharing)
Opened
#60 Integration Test Suite: Kommunikation, Sync & Messaging automatisiert testen
Opened
#61 User-Konzept (Teil 2): Offline-Queue, Sofort-Sync & Last-Write-Wins
Opened
#62 Inventar Sync Generaltest: Bob-Szenario mit 10 Items, PATCH & WebSocket-Push
Opened
#63 Chat: UTF-8-Unterstützung für Umlaute und Emoji-Eingabe
Opened
#64 Chat: UTF-8 fuer Umlaute und Emoji-Eingabe
Opened
#65 Chat: UTF-8-Unterstuetzung fuer Umlaute und Emoji-Eingabe
Opened
#66 Chat: UTF-8-Unterstuetzung fuer Umlaute und Emoji-Eingabe
Opened
#67 Security: Server-seitige Input-Validierung & Body-Size-Limit
Opened
#68 Server UI: Inventarübersicht erweitern (Statistiken & Aktivität)
Opened
#69 Self-Update: App prüft neue Version und installiert APK selbst
Opened
#70 Server: H2 durch PostgreSQL ersetzen
Opened
#71 Room: fallbackToDestructiveMigration entfernen
Opened
#72 Sicherheit: JWT-Token-Storage ungeschuetzt
Opened
#73 Robustheit: WebSocket-Reconnect-Strategie pruefen
Opened
#74 Skalierung: Full-Inventory-Sync durch Delta-Sync ersetzen
Opened
#75 Sicherheit: Rate-Limiting auf Server-API
Opened
#76 UX: Suche und Filter auf Item-Liste
Opened
#77 Feature: Barcode-Scanner mit OpenFoodFacts-Lookup
Opened
#78 Feature: Push-Notifications fuer Ablaufwarnungen
Opened
#79 Feature: Multi-Inventar auf Client-Seite
Opened
#80 Qualitaet: Server-Integrationstests
Opened
#81 Feature: Export als CSV und PDF
Opened
#82 Refactoring: Settings Type-Safety und Validierung
Opened
#83 Self-Update Server: Version-Endpoint, APK-Hosting & Homepage mit QR-Code
Opened
#84 Self-Update App: Update-Check & APK-Download (Data/Domain-Layer)
Opened
#85 Self-Update App: Update-Dialog, Installation & App-Start-Integration
Opened
#86 Admin: Statistiken pro Inventar & Inventar-Liste mit Paging/Sortierung/Filter/Suche
Opened
#87 Infrastruktur: Tägliches PostgreSQL-Backup mit 1 GB Rotation
Opened
#88 Server Admin UI: Postapokalyptisches Rost/Stahl/Beton-Theme
Opened
#89 DB-Migration: fallbackToDestructiveMigration() entfernen & Migrationsstrategie einführen
Opened
#90 Admin-UI: Hauptnavigation mit Tabs (User / Inventare / Backups)
Opened
#91 Styling: Download-Homepage an Admin-Bereich angleichen
Opened
#92 Styling: App-UI an Admin-Bereich angleichen
Opened
#93 Logo überarbeiten: Ratte komplett sichtbar, weniger comichaft, Patronengurt & Plättchenpanzer
Opened
#94 Sync-Statusanzeige: Live-Verbindungsstatus, Aktivitaets-Feed & Robustheit
Opened
#95 HTTPS: Caddy Reverse Proxy + Domain-Umstellung bollwerk.online
Opened
#96 Messaging: Ende-zu-Ende-Verschlüsselung (E2EE)
Opened
#97 Security: WebSocket Auth-Token aus Query-Parameter in Header verschieben
Opened
#98 Server-Side Encryption at Rest (PostgreSQL pgcrypto / TDE)
Opened
#99 Migration-Safety: Datenverlust bei App- und Server-Updates verhindern
Opened
#100 Publish: APK-Deploy ohne Server-Neustart (Version-Notify-Endpoint)
Opened
#101 Infrastructure: Mailserver auf VPS einrichten (Maddy + Snappymail)
Opened
#102 Messaging: Emoji-Button entfernen
Opened
#103 Messaging: Nachrichtenspeicher pro User auf 10 MB begrenzen (FIFO-Eviction + Server-Hinweis)
Opened
#104 Messaging: Push-Benachrichtigungen für eingehende Nachrichten (inkl. Ton + Deep-Link in Chat)
Opened
#105 Security: E2EE Private Key – AndroidKeysetManager statt CleartextKeysetHandle
Opened
#106 Home: Kategorie-Tap navigiert ins Inventar mit Kategoriefilter
Opened
#107 Genome Engine: Automatische Erkennung und Propagation von Copilot-Customization-Verbesserungen
Opened
#108 Settings: Server-Sync Bereich UI aufräumen
Opened
#109 Chat: Entschlüsselung fehlgeschlagen bei empfangenen Nachrichten
Opened
#110 Nachrichten: Ungelesene Anzahl als rote Badges anzeigen
Opened
#111 fix(notifications): FG-Service-Notification und Nachrichten-Notification zu einer einzigen zusammenfassen
Opened
#112 fix(chat): Nachrichtentext von bodyMedium (14sp) auf bodyLarge (16sp) vergrößern
Opened
#113 feat(chat): Nachrichten-Paginierung – initial 200, automatisches Laden beim Scroll ans obere Ende
Opened
#114 feat(item-form): Einheit als Dropdown mit Vordefiniert-Liste + Custom-Option
Opened
#115 fix(item-form): kcal-Label dynamisch wie Preis-Label (abhängig von #114)
Opened
#116 plan(ressourcen): Ressourcen-Verteilsystem – Planung + Arbeitspakete
Opened
#117 plan(ressourcen): Ressourcen-Verteilsystem - Planung + Arbeitspakete
Opened
#118 feat(shared): ResourceDto im Shared-Modul
Opened
#119 feat(server): Resources-Tabelle (Postgres) + Datei-Storage
Opened
#120 feat(server): REST-API für Ressourcen (CRUD + Download)
Opened
#121 feat(app): ResourceEntity + Dao + Repository + DB-Migration 8→9
Opened
#122 feat(app): ResourceListScreen + Navigation (BottomBar-Tab)
Opened
#123 feat(app): Ressource herunterladen + 'Öffnen mit'-Dialog
Opened
#124 feat(messaging): FCM-Integration – Foreground Service ersetzen
Opened
#125 feat(auth): Logout fragt nach Löschen lokaler Daten
Opened
#126 infra(forgejo): Forgejo-Server auf VPS einrichten (git.bollwerk.online)
Opened
#127 infra(forgejo): Migration GitHub → Forgejo (Repo + Issues)
Opened
#128 infra(forgejo): Projektlinks, Skills und Referenzen auf Forgejo umstellen
Opened
#129 fix(resources): ePub/PDF-Dateien können nicht von externen Apps geöffnet werden
Opened
#130 feat(admin): Ressourcen-UI mit Paging, Suche, Sortierung, Filter & Gruppierung
Opened
#131 feat(contacts): Online-Status in Kontaktliste anzeigen
Opened
#132 feat(ui): Online-Dienste-Banner + bollwerk.online in Settings
Opened
#133 feat(resources): In-App ePub & PDF Reader mit Leseposition und Homescreen-Widget
Opened
#134 feat(resources): In-App ePub & PDF Reader mit Leseposition und Homescreen-Widget